Способ, устройство и система для конфигурирования записей потоков
Иллюстрации
Показать всеИзобретение относится к средствам конфигурирования записи потока. Технический результат заключается в уменьшении вероятности неудачи при обработке сервиса. Сообщение посредством коммутатора структуры таблицы потоков контроллеру. Прием записи потока, генерируемой согласно структуре таблицы потоков и передаваемой контроллером. Определение, когда в программной таблице потоков найдена первая запись потока, согласованная с первым пакетом данных для первого сервиса, первого целевого пути сервиса, согласованного с первой записью потока, и далее определение соответствующей первой аппаратной таблицы потоков. Конфигурируют запись потока в составе первой аппаратной таблицы потоков согласно первой записи потока. 5 н. и 15 з.п. ф-лы, 8 ил., 7 табл.
Реферат
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к области технологий сетей связи и, в частности, к способу, устройству и системе для конфигурирования записей потоков.
УРОВЕНЬ ТЕХНИКИ
Сеть, работающая согласно протоколу OpenFlow, осуществляет разделение между уровнем передачи данных и уровнем управления и содержит контроллер (Controller) на уровне управления и коммутатор (Switch) на уровне передачи, где контроллер управляет коммутатором с использованием протокола OpenFlow, чтобы осуществить централизованное управление работой всей сети связи. В частности, контроллер передает запись потока (flow entry) указанному коммутатору с использованием протокола OpenFlow, где переданная запись потока содержит величину поля признаков (match field) и величину действия (action), где величина поля признаков может представлять собой MAC-адрес пункта назначения, тип Этернет (Ethernet) или другую подобную информацию, а величина действия может представлять собой информацию для указания, что некий пакет данных передают через конкретный заданный порт; коммутатор добавляет принятую запись потока в аппаратную таблицу потоков, чтобы можно было осуществить поиск, когда будет принят какой-либо пакет данных позже, в аппаратной таблице потоков для обнаружения записи потока, согласованной с этим пакетом данных, и для обработки пакета данных в соответствии с величиной действия в найденной записи потока.
В известных системах такую аппаратную таблицу потоков конфигурируют с использованием следующего способа:
Коммутатор сохраняет взаимно-однозначное соответствие между таблицей потоков протокола OpenFlow (далее просто таблица потоков OpenFlow) (например, таблица T0, таблица T1 и таблица T2) и аппаратной таблицей потоков (например, список управления доступом (Access control list, ACL) 1 и ACL 2) для этого коммутатора с целью генерации структуры таблицы потоков, где эта сформированная структура таблиц потоков содержит указание типа таблицы потоков для каждой таблицы потоков OpenFlow (flow table), а также поле признаков и действие, поддерживаемые каждой таблицей потоков OpenFlow; коммутатор сообщает сформированную им структуру таблицы потоков контроллеру, где поле признаков и действие, поддерживаемые каждой таблицей потоков OpenFlow, представляют собой поле признаков и действие для соответствующей аппаратной таблицы потоков.
Указанную запись потока, передаваемую контроллером, генерируют в соответствии с применяемой контроллером логической схемой обработки данных и структурой таблицы потоков, сообщенной коммутатором, где эта логическая схема обработки данных в контроллере содержит: генерацию записи потока для конкретной таблицы и конкретного сервиса. Например, для сервиса A генерируют записи потоков для таблицы T0 и таблицы T1, а для сервиса B генерируют запись потока для таблицы T2.
Когда принята запись потока, переданная контроллером, для таблицы потоков или нескольких таблиц потоков, коммутатор сохраняет, согласно указанному соответствию, эту запись потока в аппаратной таблице потоков, соответствующей таблице потоков OpenFlow. Например, когда принята запись потока для таблицы T0, эту запись потока сохраняют в списке ACL 1, чтобы осуществить сервис, поддерживаемый указанной аппаратной таблицей потоков.
Например, для осуществления сервиса A требуются поля признаков in_port (входной порт), eth_type (тип Этернет), src_mac (MAC-адрес источника) и dst mac (MAC-адрес пункта назначения) и действие вывода (передача данных через некоторый порт). Список ACL 1 содержит первые три поля признаков, а список ACL 2 содержит два последних поля признаков и выходное действие, что указывает том факт, что эти список ACL 1 и список ACL 2 поддерживают сервис A. Коммутатор сохраняет соответствие между таблицей T0 и списком ACL 1 и соответствие между таблицей T1 и списком ACL 2; соответственно, сформированные поля признаков в таблице T0 также содержат указанные первые три поля признаков, сформированная таблица T1 содержит два последних поля признаков и выходное действие, и тогда таблица T0 и таблица T1 поддерживают A. Логическая схема обработки данных в контроллере генерирует записи потоков для таблицы T0 и таблицы T1 для сервиса A; поэтому, в коммутатор передают запись потока, используемую для обработки пакета, относящегося к сервису A.
В общем случае, коммутаторы различных типов имеют разные кристаллы интегральных схем аппаратных передатчиков, и аппаратные таблицы потоков, используемые разными кристаллами интегральных схем аппаратных передатчиков для поддержки одного и того же сервиса, также являются различными. Например, в кристалле специализированной интегральной схемы ASIC 1, сервис A поддерживается списком ACL 1 и списком ACL 2; в кристалле ASIC 2, сервис A поддерживается списком ACL 3. Однако когда контроллер генерирует запись потока, если таблица T0 и таблица T1, сообщенные коммутатором на основе кристалла ASIC 1, содержат поле признаков и действие, необходимые сервису A, контроллер передает коммутатору записи потоков из таблицы T0 и таблицы T1; если таблица T2, соответствующая списку ACL 3 и сообщенная коммутатору на основе использования кристалла ASIC 2, удовлетворяет приведенному выше условию, а сообщенные таблица T0 и таблица T1 не могут удовлетворить приведенному выше условию, контроллер не может передавать коммутатору запись потока, используемому для обработки пакета данных, относящегося к сервису A.
Очевидно, что если коммутатор на основе кристалла ASIC 1 использует таблицу T0 и таблицу T1 для осуществления сервиса A, коммутатор на основе кристалла ASIC 2 использует таблицу T2 для осуществления сервиса A, а логическая схема обработки данных в контроллере генерирует записи потоков в таблице T0 и таблице T1 для сервиса A, этот контроллер не может генерировать или передавать запись потока, соответствующего сервиса A, когда этот контроллер соединен с коммутатором на основе кристалла ASIC 2; естественно, коммутатор на основе кристалла ASIC 2 не может конфигурировать запись потока, обрабатывающую сервис A, в результате чего этот сервис A не может быть обработан.
Логические схемы обработки данных в контроллерах, изготовленных разными производителями, обычно различны, и кристаллы интегральных схем аппаратных передатчиков, на основе которых выполнены коммутаторы, изготовленные разными производителями, также обычно различны; поэтому некоторые сервисы не всегда могут быть обработаны, когда какой-либо коммутатор соединен с каким-либо произвольным контроллером, что создает относительно высокую вероятность неудачи при обработке сервиса.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Варианты настоящего изобретения предлагают способ, устройство и систему для конфигурирования записи потока, используемые для решения имеющей место в известных системах проблемы, состоящей в том, что существует относительно высокая вероятность невозможности обработки сервиса из-за того, что коммутатор не может конфигурировать, в аппаратной таблице потоков, запись потока, используемую для обработки некоторых сервисов.
Первый аспект предлагает способ конфигурирования записи потока, где этот способ содержит:
сообщение, посредством коммутатора, структуры таблицы потоков контроллеру с использованием протокола OpenFlow OpenFlow, где структура таблицы потоков содержит поля признаков и действия, поддерживаемые несколькими таблицами потоков OpenFlow, и указания типов этих нескольких таблиц потоков OpenFlow, так что имеется пересечение между полями признаков и действиями, поддерживаемыми несколькими таблицами потоков OpenFlow, где это пересечение содержит поле признаков и действие, используемые для осуществления первого сервиса, поддерживаемого аппаратной таблицей потоков в памяти коммутатора, а типы нескольких таблиц потоков OpenFlow все представляют собой обобщенный, универсальный тип (wildcard type);
прием, посредством коммутатора, записи потока, переданной контроллером с использованием протокола OpenFlow, и конфигурирование этой записи потока в программной таблице потоков, где эту запись потока генерирует контроллер согласно структуре таблицы потоков и информации относительно пакета данных, сообщенной коммутатором, эта информация относительно пакета данных содержит информацию относительно первого пакета данных для первого сервиса, а запись потока содержит по меньшей мере одну из записей потоков, согласованных с первым пакетом данных;
получение, посредством коммутатора, из программной таблица потоков, первой записи потока, согласованной с первым пакетом данных; обработку первого пакета данных согласно с величиной действия из состава первой записи потока; и определение, в составе предварительно конфигурированного пути сервиса, первого целевого пути сервиса, согласованного с первой записью потока, где совокупность полей признаков для найденного первого целевого пути сервиса содержит поле признаков входного порта и поле признаков заголовка пакета в составе группы полей признаков, соответствующих величинам полей признаков в составе первой записи потока, а действие для этого первого целевого пути сервиса содержит действие, соответствующее величине действия, представляющей собой величины действия в составе первой записи потока и используемой для обработки первого пакета данных;
определение, посредством коммутатора, согласно заданному соответствию между первым целевым путем сервиса и первой аппаратной таблицей потоков, такой первой аппаратной таблицы потоков, соответствующей первому целевому пути сервиса, где эта первая аппаратная таблица потоков, соответствующая первому целевому пути сервиса, поддерживает сервис, поддерживаемый этим первым целевым путем сервиса; и
конфигурирование, посредством коммутатора, записи потока в первой аппаратной таблице потоков, согласно первой записи потока.
Согласно первому возможному варианту способа осуществления первого аспекта, поля признаков в составе нескольких таблиц потоков OpenFlow, сообщенных коммутатором, все представляют собой поля признаков, поддерживаемые протоколом OpenFlow, и действия в составе нескольких таблиц потоков OpenFlow, сообщенных коммутатором, все представляют собой действия, поддерживаемые протоколом OpenFlow.
С учетом первого аспекта или первого возможного варианта способа осуществления этого первого аспекта, согласно второму возможному варианту способа осуществления первого аспекта процедура определения, в составе предварительно конфигурированного пути сервиса, первого целевого пути сервиса, согласованного с первой записью потока, в частности, содержит:
когда имеются две или более первых записей потоков, агрегирование этих первых записей потоков для генерации комбинированной записи потока, где величины полей признаков в составе комбинированной записи потока представляют собой величины полей признаков из состава первых записей потоков, которые соответствуют полю признаков входного порта и полю признаков заголовка пакета, а величины действий в составе комбинированной записи потока представляют собой величины действий из состава первых записей потоков, используемые для обработки первого пакета данных; и определение, в составе предварительно конфигурированного пути сервиса, одного пути сервиса, где совокупность полей признаков содержит поля признаков, соответствующие величинам полей признаков в составе указанной комбинированной записи потока, и где совокупность действий содержит действия, соответствующие величинам действий из состава комбинированной записи потока, в качестве первого целевого пути сервиса; и
когда имеется одна первая запись потока, определение, в составе предварительно конфигурированного пути сервиса, одного пути сервиса, где поле признаков представляет собой поле признаков, соответствующее величине поля признаков в составе первой записи потока, и где действие представляет собой действие, соответствующее величине действия в составе первой записи потока, в качестве первого целевого пути сервиса.
С учетом первого аспекта или первого или второго возможных вариантов способа осуществления этого первого аспекта, согласно третьему возможному варианту способа осуществления первого аспекта, указанное пересечение далее содержит поле признаков и действие, используемые для осуществления второго сервиса, не поддерживаемого аппаратной таблицей потоков в памяти коммутатора, информация относительно пакета данных далее содержит информацию относительно второго пакета данных для второго сервиса, а запись потока, принятая коммутатором от контроллера, дополнительно содержит по меньшей мере одну из записей потоков, согласованных со вторым пакетом данных; и
способ дополнительно содержит: получение, посредством коммутатора, из программной таблицы потоков, второй записи потока, согласованной со вторым пакетом данных, и обработку второго пакета данных в соответствии с действием из состава второй записи потока.
С учетом третьего возможного варианта способа осуществления первого аспекта, согласно четвертому возможному варианту способа осуществления первого аспекта, способ дополнительно содержит:
определение, посредством коммутатора, в составе предварительно конфигурированного пути сервиса, второго целевого пути сервиса, согласованного со второй записью потока, где совокупность полей признаков из состава найденного второго целевого пути сервиса содержит поле признаков входного порта и поле признаков заголовка пакета из группы полей признаков, соответствующих величинам полей признаков из состава второй записи потока, а действие из состава второго целевого пути сервиса представляет собой действие, соответствующее величине действия из группы величин действия из состава второй записи потока и используемое для обработки второго пакета данных;
конфигурирование, посредством коммутатора согласно второй записи потока, сервисной записи потока в сервисной таблице потоков, соответствующей второму целевому пути сервиса, где эта сервисная таблица потоков представляет собой таблицу точного совпадения, а все поля признаков из состава сервисной таблицы потоков представляют собой поля признаков в составе второго целевого пути сервиса; конфигурирование первой величины поля признаков в составе сервисной записи потока в качестве соответствующей величины поля признаков в составе первой записи потока; конфигурирование второй величины поля признаков в составе сервисной записи потока в качестве соответствующей величины поля заголовка в заголовке пакета в составе второго пакета данных; и конфигурирование величины действия в составе сервисной записи потока в качестве величины действия в составе второй записи потока, где поле признаков, соответствующее первой величине поля признаков, принадлежит полю признаков, соответствующему величине поля признаков в составе первой записи потока, и поле признаков, соответствующее второй величине поля признаков, не принадлежит полю признаков, соответствующему величине поля признаков в составе второй записи потока; и
поиск, посредством коммутатора, при приеме последующего пакета данных для второго сервиса позже, в указанной сервисной таблице потоков, для обнаружения сервисной записи потока, соответствующей последующему пакета данных, и обработка этого последующего пакета данных в соответствии с действием из состава найденной сервисной записи потока.
С учетом первого аспекта или какого-либо из возможных вариантов с первого по четвертый способа осуществления этого первого аспекта, согласно пятому возможному варианту способа осуществления первого аспекта, прежде определения, согласно предварительно конфигурированному соответствию между первым целевым путем сервиса и первой аппаратной таблицей потоков, такой первой аппаратной таблицы потоков, соответствующей первому целевому пути сервиса, способ дополнительно содержит: конфигурирование соответствия между путями сервисов и соответствующими аппаратными таблицами потоков, где среди путей сервисов имеется первый целевой путь сервиса, способ, в частности, содержит:
конфигурирование нескольких физических таблиц потоков и соответствия между этими физическими таблицами потоков и аппаратными таблицами потоков, где эти несколько физических таблиц потоков по отдельности содержат поддерживаемые поля признаков и действия, поля признаков из каждой физической таблицы потоков входят в состав совокупности полей признаков соответствующей аппаратной таблицы потоков, а действие, которое является действием из состава каждой физической таблицы потоков и которое должно быть записано в рассматриваемую аппаратную таблицу потоков, включено в совокупность действий соответствующей аппаратной таблицы потоков; и
конфигурирование соответствия между путями сервисов и физическими таблицами потоков, где поле признаков в составе каждого из путей сервисов включают в состав совокупности полей признаков всех соответствующих физических таблиц потоков и действие из состава каждого пути сервиса включают в состав совокупности действий из всех соответствующих физических таблиц потоков; и
процедура определения, посредством коммутатора согласно предварительно конфигурированному соответствию между первым целевым путем сервиса и первой аппаратной таблицей потоков, такой первой аппаратной таблицы потоков, соответствующей первому целевому пути сервиса, в частности, содержит:
определение, посредством коммутатора, первой физической таблицы потоков согласно соответствию между первым целевым путем сервиса и соответствующей первой физической таблицей потоков, и определение первой аппаратной таблицы потоков согласно соответствию между первой физической таблицей потоков и соответствующей первой аппаратной таблицей потоков.
Второй аспект предлагает способ конфигурирования записи потока, где этот способ содержит:
сообщение, посредством устройства связи, структуры таблицы потоков контроллеру с использованием протокола OpenFlow OpenFlow, где эта структура таблицы потоков содержит поля признаков и действия, поддерживаемые несколькими таблицами потоков OpenFlow, и указания типов этих нескольких таблиц потоков OpenFlow, здесь имеет место пересечение между полями признаков и действиями, поддерживаемыми посредством нескольких таблиц потоков OpenFlow, это пересечение содержит поле признаков и действие, используемые для осуществления первого сервиса, поддерживаемого аппаратной таблицей потоков в кристалле интегральной схемы аппаратного передатчика, а типы нескольких таблиц потоков OpenFlow все представляют собой универсальный тип (wildcard type), и устройство связи соединено с кристаллом интегральной схемы аппаратного передатчика;
прием, посредством устройства связи, записи потока, переданной контроллером с использованием протокола OpenFlow, и конфигурирование записи потока в программной таблице потоков, где эту запись потока генерирует контроллер согласно структуре таблицы потоков и информации относительно пакета данных, сообщенных устройством связи, где эта информация о пакете данных содержит информацию о первом пакете данных для первого сервиса, а указанная запись потока содержит по меньшей мере одну из записей потока, согласованных с этим первым пакетом данных;
получение, посредством устройства связи, из программной таблицы потоков, первой записи потока, согласованной с указанным первым пакетом данных; обработку первого пакета данных согласно величине действия в составе первой записи потока; и определение, в составе предварительно конфигурированного пути сервиса, первого целевого пути сервиса, согласованного с первой записью потока, где совокупностей полей признаков для найденного первого целевого пути сервиса содержит поле признаков с указанием входного порта и поле признаков с указанием заголовка пакета в группе полей признаков, соответствующих величинам полей признаков в составе первой записи потока, а действие для первого целевого пути сервиса представляет собой действие, которое соответствует величине действия из совокупности величин действий в составе первой записи потока и которое используется для обработки первого пакета данных;
определение, посредством устройства связи, согласно предварительно конфигурированному соответствию между первым целевым путем сервиса и первой аппаратной таблицей потоков в памяти кристалла интегральной схемы аппаратного передатчика, такой первой аппаратной таблицы потоков, соответствующей первому целевому пути сервиса, где эта первая аппаратная таблица потоков, соответствующая первому целевому пути сервиса, поддерживает сервис, поддерживаемый первым целевым путем сервиса; и
конфигурирование, посредством устройства связи, записи потока в первой аппаратной таблице потоков согласно первой записи потока.
Согласно первому возможному варианту способа осуществления второго аспекта, поля признаков в составе нескольких таблиц потоков OpenFlow, сообщенных устройством связи, все представляют собой поля признаков, поддерживаемые протоколом OpenFlow, а действия в составе этих нескольких таблиц потоков OpenFlow, сообщенных устройством связи, все представляют собой действия, поддерживаемые протоколом OpenFlow.
С учетом второго аспекта или первого возможного варианта способа осуществления этого второго аспекта, согласно второму возможному варианту способа осуществления второго аспекта, процедура определения, в составе предварительно конфигурированного пути сервиса, первого целевого пути сервиса, согласованного с первой записью потока, в частности, содержит:
когда имеются две или более первых записей потоков, агрегирование этих первых записей потоков для генерации комбинированной записи потока, где величины полей признаков, входящие в комбинированную запись потока, представляют собой величины полей признаков, которые входят в совокупность величин полей признаков из состава первых записей потоков и соответствуют полю признаков входного порта и полю признаков заголовка пакета, величины действий, входящие в состав комбинированной записи потока, представляют собой величины действий, которые входят в совокупность величин действий из состава первых записей потоков и используются для обработки первого пакета данных; и определение, в составе предварительно конфигурированного пути сервиса, одного пути сервиса, в котором поля признаков содержат поля признаков, соответствующие величинам полей признаков из состава комбинированной записи потока, и в котором действия, содержат действия, соответствующие величинам действий из состава комбинированной записи потока, в качестве первого целевого пути сервиса; и
когда имеется только одна первая запись потока, определение, в составе предварительно конфигурированного пути сервиса, одного пути сервиса, в котором поле признаков представляет собой поле признаков, соответствующее величине поля признаков из состава первой записи потока, и в котором действие представляет собой действие, соответствующее величине действия в составе первой записи потока, в качестве первого целевого пути сервиса.
С учетом второго аспекта или первого или второго возможных вариантов способа осуществления этого второго аспекта, согласно третьему возможному варианту способа осуществления второго аспекта, пересечение далее содержит поле признаков и действие, используемые для осуществления второго сервиса, не поддерживаемого аппаратной таблицей потоков в памяти кристалла интегральной схемы аппаратного передатчика, информация относительно пакета данных дополнительно содержит информацию о втором пакете данных для второго сервиса, а запись потока, принятая устройством связи от контроллера, дополнительно содержит по меньшей мере одну из записей потоков, согласованных со вторым пакетом данных; и
способ дополнительно содержит: получение, посредством устройства связи, из программной таблицы потоков, второй записи потока, согласованной со вторым пакетом данных, и обработку второго пакета данных согласно действию из состава второй записи потока.
С учетом третьего возможного варианта способа осуществления этого второго аспекта, согласно четвертому возможному варианту способа осуществления изобретения, способ дополнительно содержит:
определение, посредством устройства связи, в составе предварительно конфигурированного пути сервиса, второго целевого пути сервиса, согласованного со второй записью потока, где совокупность полей признаков в составе найденного второго целевого пути сервиса содержит поле признаков входного порта и поле признаков заголовка пакета из группы полей признаков, соответствующих величинам полей признаков из состава второй записи потока, а действие из состава второго целевого пути сервиса представляет собой действие, соответствующее величине действия, которая входит в совокупность величин действия в составе второй записи потока и которая используется для обработки второго пакета данных;
конфигурирование, посредством устройства связи, согласно второй записи потока, сервисной записи потока в сервисной таблице потоков, соответствующей второму целевому пути сервиса, где эта сервисная таблица потоков представляет собой таблицу точного совпадения, а поля признаков в этой сервисной таблице потоков являются всеми полями признаков в составе второго целевого пути сервиса; конфигурирование величины первого поля признаков в составе сервисной записи потока в виде соответствующей величины поля признаков в составе первой записи потока; конфигурирование величины второго поля признаков в составе сервисной записи потока в виде соответствующей величины поля заголовка в заголовке пакета в составе второго пакета данных; и конфигурирование величины действия в составе сервисной записи потока в виде величины действия в составе второй записи потока, где поле признаков, соответствующее величине первого поля признаков, принадлежит к полю признаков, соответствующему величине поля признаков в составе первой записи потока, а поле признаков, соответствующее величине второго поля признаков, не принадлежит к полю признаков, соответствующему величине поля признаков в составе второй записи потока; и
поиск, посредством устройства связи, когда происходит позднее прием следующего пакета данных для второго сервиса, в сервисной таблице потоков для обнаружения сервисной записи потока, согласованной с этим последующим потоком данных, и обработку этого последующего пакета данных согласно действию из состава найденной сервисной записи потока.
С учетом второго аспекта или какого-либо из возможных вариантов с первого по четвертый способа осуществления этого второго аспекта, согласно пятому возможному варианту способа осуществления второго аспекта, прежде определения, согласно предварительно конфигурированному соответствию между первым целевым путем сервиса и первой аппаратной таблицей потоков, такой первой аппаратной таблицы потоков, соответствующей первому целевому пути сервиса, способ дополнительно содержит: конфигурирование соответствия между путями сервисов и соответствующими аппаратными таблицами потоков, где совокупность путей сервисов содержит указанный первый целевой путь сервиса, способ, в частности, содержит:
конфигурирование нескольких физических таблиц потоков и соответствия между этими физическими таблицами потоков и аппаратными таблицами потоков, где эти несколько физических таблиц потоков по отдельности содержат поддерживаемые поле признаков и действие, поле признаков из каждой физической таблицы потоков входит в совокупность полей признаков в составе соответствующей аппаратной таблицы потоков, а действие, которое входит в совокупность действий в составе каждой физической таблицы потоков и которое нужно записать в аппаратную таблицу потоков, включают в группу действий соответствующей аппаратной таблицы потоков; и
конфигурирование соответствия между путями сервисов и физическими таблицами потоков, где поле признаков в составе каждого пути сервиса входит в совокупность полей признаков из состава всех физических таблиц потоков, а действие в составе каждого пути сервиса входит в группу действий для всех соответствующих физических таблиц потоков; и
процедура определения, посредством устройства связи, согласно предварительно конфигурированному соответствию между первым целевым путем сервиса и первой аппаратной таблицей потоков, такой первой аппаратной таблицы потоков, соответствующей первому целевому пути сервиса, в частности, содержит:
определение, посредством устройства связи, первой физической таблицы потоков, согласно соответствию между первым целевым путем сервиса и соответствующей первой физической таблицей потоков, и определение первой аппаратной таблицы потоков согласно соответствию между первой физической таблицей потоков и соответствующей первой аппаратной таблицей потоков.
Третий аспект предлагает устройство связи для осуществления конфигурирования записей потоков, где это устройство связи соединено с кристаллом интегральной схемы аппаратного передатчика, осуществляет связь с контроллером с использованием протокола OpenFlow OpenFlow и содержит: интерфейсный модуль, модуль конфигурирования программной таблицы потоков, модуль обработки пакетов данных и модуль конфигурирования аппаратной таблицы потоков, где:
интерфейсный модуль конфигурирован для сообщения структуры таблицы потоков контроллеру, где структура таблицы потоков содержит поля признаков и действий, поддерживаемые несколькими таблицами потоков OpenFlow, и указания типов нескольких таблиц потоков OpenFlow, здесь имеет место пересечение полей признаков и действий, поддерживаемых несколькими таблицами потоков OpenFlow, это пересечение содержит поле признаков и действие, используемые для осуществления первого сервиса, поддерживаемого аппаратной таблицей потоков в памяти кристалла интегральной схемы аппаратного передатчика, здесь типы нескольких таблиц потоков OpenFlow все представляют собой универсальный тип (wildcard type); и далее модуль конфигурирован для сообщения информации относительно пакета данных в адрес контроллера и приема записи потока, переданного этим контроллером, где эту запись потока контроллер генерирует согласно структуре таблицы потоков и информации относительно пакета данных, эта информация относительно пакета данных содержит информацию о первом пакете данных для первого сервиса, а запись потока содержит по меньшей мере одну из записей потока, согласованных с первым пакетом данных;
модуль конфигурирования программной таблицы потоков конфигурирован для того, чтобы конфигурировать запись потока, принятую интерфейсным модулем, в состав программной таблицы потоков;
модуль обработки пакетов данных конфигурирован для получения, из программной таблицы потоков, первой записи потока, согласованной с первым пакетом данных, обработки этого первого пакета данных согласно величине действия, указанной в составе первой записи потока, и определение, в составе предварительно конфигурированного пути сервиса, первого целевого пути сервиса, согласованного с первой записью потока, где совокупность полей признаков найденного первого целевого пути сервиса содержит поле признаков входного порта и поле признаков заголовка пакета из группы полей признаков, соответствующих величинам полей признаков в составе первой записи потока, действие в составе первого целевого пути сервиса представляет собой действие, соответствующее величине действия, которая входит в группу величин действия в составе первой записи потока и которая используется для обработки первого пакета данных; а модуль обработки пакетов данных конфигурирован для определения, согласно предварительно конфигурированному соответствию между первым целевым путем сервиса и первой аппаратной таблицей потоков в памяти кристаллов интегральной схемы аппаратного передатчика, такой первой аппаратной таблицы потоков, соответствующей первому целевому пути сервиса, где первая аппаратная таблица потоков, соответствующая первому целевому пути сервиса, поддерживает сервис, поддерживаемый первым целевым путем сервиса; и
модуль конфигурирования аппаратной таблицы потоков конфигурирован для осуществления конфигурирования записи потока в составе первой аппаратной таблицы потоков согласно первой записи потока.
Согласно первому возможному варианту способа осуществления этого третьего аспекта, поля признаков в составе нескольких таблиц потоков OpenFlow, сообщенных интерфейсным модулем, все представляют собой поля признаков, поддерживаемые протоколом OpenFlow, а действия в составе нескольких таблиц потоков OpenFlow, сообщенных интерфейсным модулем, все являются действиями, поддерживаемыми протоколом OpenFlow.
С учетом третьего аспекта или первого возможного варианта способа осуществления этого третьего аспекта, согласно второму возможному варианту способа осуществления третьего аспекта, модуль обработки пакетов данных конфигурирован для определения, в составе предварительно конфигурированного пути сервиса, целевого пути сервиса, согласованного с первой записью потока, способ, в частности, содержит:
модуль обработки пакетов данных, конфигурированный для того, чтобы: когда имеются две или более первых записей потоков, агрегировать эти первые записи потоков для генерации комбинированной записи потока, где величины полей признаков в составе комбинированной записи потока представляют собой величины полей признаков, которые входят в совокупность величин полей признаков из состава первых записей потоков и которые соответствуют полю признаков входного порта и полю признаков заголовка пакета, а величины действий в составе комбинированной записи потока представляют собой величины действий, которые входят в группу величин действий в составе первых записей потоков и которые используются для обработки первого пакета данных; и определение, в составе предварительно конфигурированного пути сервиса, одного пути сервиса, для которого совокупность полей признаков содержит поля признаков, соответствующие величинам полей признаков в составе комбинированной записи потока, и в котором совокупность действий содержит действия, соответствующие величинам действия из состава комбинированной записи потока, в качестве первого целевого пути сервиса; и модуль обработки пакетов данных конфигурирован для того, чтобы: когда имеется только одна первая запись потока, определить, в составе предварительно конфигурированного пути сервиса, один путь сервиса, в котором поле признаков представляет собой поле признаков, соответствующее величине поля признаков из состава первой записи потока, и в котором действие представляет собой действие, соответствующее величине действия в составе первой записи потока, в качестве первого целевого пути сервиса.
С учетом третьего аспекта или первого или второго возможных вариантов способа осуществления этого третьего аспекта, согласно третьему возможному варианту способа осуществления третьего аспекта, указанное пересечение далее содержит поле признаков и действие, используемые для осуществления второго сервиса, не поддерживаемого аппаратной таблицей потоков в памяти кристалла интегральной схемы аппаратного передатчика, информация относительно пакета данных далее содержит информацию о втором пакете данных для второго сервиса, а запись потока, принятая интерфейсным модулем от контроллера, далее содержит по меньшей мере одну из записей потока, согласованную со вторым пакетом данных; и
модуль обработки пакетов данных далее конфигурирован для обработки второго пакета данных согласно действию из состава второй записи потока, когда получена, из программной таблицы потоков, вторая запись потока, согласованная со вторым пакетом данных.
С учетом третьего возможного варианта способа осуществления третьего аспекта, согласно четвертому возможному варианту способа осуществления третьего аспекта, устройство связи далее содержит модуль конфигурирования сервисной таблицы потоков, где:
модуль обработки пакетов данных далее конфигурирован для того, чтобы: определить, в составе предварительно конфигурированного пути се