RU2651143C1 - Способ, устройство и система для конфигурирования записей потоков - Google Patents
Способ, устройство и система для конфигурирования записей потоков Download PDFInfo
- Publication number
- RU2651143C1 RU2651143C1 RU2017100992A RU2017100992A RU2651143C1 RU 2651143 C1 RU2651143 C1 RU 2651143C1 RU 2017100992 A RU2017100992 A RU 2017100992A RU 2017100992 A RU2017100992 A RU 2017100992A RU 2651143 C1 RU2651143 C1 RU 2651143C1
- Authority
- RU
- Russia
- Prior art keywords
- service
- stream
- target
- record
- action
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 188
- 238000004891 communication Methods 0.000 claims abstract description 153
- 238000012545 processing Methods 0.000 claims abstract description 104
- 230000009471 action Effects 0.000 claims description 541
- 230000008569 process Effects 0.000 claims description 50
- 230000004931 aggregating effect Effects 0.000 claims description 8
- 241000218657 Picea Species 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 2
- 239000000126 substance Substances 0.000 abstract 1
- 239000013078 crystal Substances 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 238000012546 transfer Methods 0.000 description 8
- 101100083503 Caenorhabditis elegans acl-1 gene Proteins 0.000 description 7
- 101100083507 Caenorhabditis elegans acl-2 gene Proteins 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 101100163897 Caenorhabditis elegans asic-2 gene Proteins 0.000 description 5
- 102100031102 C-C motif chemokine 4 Human genes 0.000 description 4
- 101100054773 Caenorhabditis elegans act-2 gene Proteins 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 101100217231 Caenorhabditis elegans asic-1 gene Proteins 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 101100000858 Caenorhabditis elegans act-3 gene Proteins 0.000 description 1
- 102100033189 Diablo IAP-binding mitochondrial protein Human genes 0.000 description 1
- 101710101225 Diablo IAP-binding mitochondrial protein Proteins 0.000 description 1
- HEFNNWSXXWATRW-UHFFFAOYSA-N Ibuprofen Chemical compound CC(C)CC1=CC=C(C(C)C(O)=O)C=C1 HEFNNWSXXWATRW-UHFFFAOYSA-N 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- -1 vid Proteins 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/036—Updating the topology between route computation elements, e.g. between OpenFlow controllers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/645—Splitting route computation layer and forwarding layer, e.g. routing according to path computational element [PCE] or based on OpenFlow functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Изобретение относится к средствам конфигурирования записи потока. Технический результат заключается в уменьшении вероятности неудачи при обработке сервиса. Сообщение посредством коммутатора структуры таблицы потоков контроллеру. Прием записи потока, генерируемой согласно структуре таблицы потоков и передаваемой контроллером. Определение, когда в программной таблице потоков найдена первая запись потока, согласованная с первым пакетом данных для первого сервиса, первого целевого пути сервиса, согласованного с первой записью потока, и далее определение соответствующей первой аппаратной таблицы потоков. Конфигурируют запись потока в составе первой аппаратной таблицы потоков согласно первой записи потока. 5 н. и 15 з.п. ф-лы, 8 ил., 7 табл.
Description
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к области технологий сетей связи и, в частности, к способу, устройству и системе для конфигурирования записей потоков.
УРОВЕНЬ ТЕХНИКИ
Сеть, работающая согласно протоколу 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.
С учетом третьего аспекта или первого возможного варианта способа осуществления этого третьего аспекта, согласно второму возможному варианту способа осуществления третьего аспекта, модуль обработки пакетов данных конфигурирован для определения, в составе предварительно конфигурированного пути сервиса, целевого пути сервиса, согласованного с первой записью потока, способ, в частности, содержит:
модуль обработки пакетов данных, конфигурированный для того, чтобы: когда имеются две или более первых записей потоков, агрегировать эти первые записи потоков для генерации комбинированной записи потока, где величины полей признаков в составе комбинированной записи потока представляют собой величины полей признаков, которые входят в совокупность величин полей признаков из состава первых записей потоков и которые соответствуют полю признаков входного порта и полю признаков заголовка пакета, а величины действий в составе комбинированной записи потока представляют собой величины действий, которые входят в группу величин действий в составе первых записей потоков и которые используются для обработки первого пакета данных; и определение, в составе предварительно конфигурированного пути сервиса, одного пути сервиса, для которого совокупность полей признаков содержит поля признаков, соответствующие величинам полей признаков в составе комбинированной записи потока, и в котором совокупность действий содержит действия, соответствующие величинам действия из состава комбинированной записи потока, в качестве первого целевого пути сервиса; и модуль обработки пакетов данных конфигурирован для того, чтобы: когда имеется только одна первая запись потока, определить, в составе предварительно конфигурированного пути сервиса, один путь сервиса, в котором поле признаков представляет собой поле признаков, соответствующее величине поля признаков из состава первой записи потока, и в котором действие представляет собой действие, соответствующее величине действия в составе первой записи потока, в качестве первого целевого пути сервиса.
С учетом третьего аспекта или первого или второго возможных вариантов способа осуществления этого третьего аспекта, согласно третьему возможному варианту способа осуществления третьего аспекта, указанное пересечение далее содержит поле признаков и действие, используемые для осуществления второго сервиса, не поддерживаемого аппаратной таблицей потоков в памяти кристалла интегральной схемы аппаратного передатчика, информация относительно пакета данных далее содержит информацию о втором пакете данных для второго сервиса, а запись потока, принятая интерфейсным модулем от контроллера, далее содержит по меньшей мере одну из записей потока, согласованную со вторым пакетом данных; и
модуль обработки пакетов данных далее конфигурирован для обработки второго пакета данных согласно действию из состава второй записи потока, когда получена, из программной таблицы потоков, вторая запись потока, согласованная со вторым пакетом данных.
С учетом третьего возможного варианта способа осуществления третьего аспекта, согласно четвертому возможному варианту способа осуществления третьего аспекта, устройство связи далее содержит модуль конфигурирования сервисной таблицы потоков, где:
модуль обработки пакетов данных далее конфигурирован для того, чтобы: определить, в составе предварительно конфигурированного пути сервиса, второй целевой путь сервиса, согласованного со второй записью потока, где совокупность полей признаков для найденного второго целевого пути сервиса содержит поле признаков входного порта и поле признаков заголовка пакета в составе группы полей признаков, соответствующих величинам полей признаков в составе второй записи потока, и действие для этого второго целевого пути сервиса содержит действие, соответствующее величине действия, представляющей собой величины действия в составе второй записи потока и используемой для обработки второго пакета данных;
модуль конфигурирования сервисной таблицы потоков конфигурирован для того, чтобы: конфигурировать, согласно второй записи потока, сервисную запись потока в составе сервисной таблицы потоков, соответствующей второму целевому пути сервиса, где сервисная таблица потоков представляет собой таблицу точного совпадения, а поля признаков из состава сервисной таблицы потоков представляют собой поля признаков в составе второго целевого пути сервиса; конфигурирование первой величины поля признаков в составе сервисной записи потока в качестве соответствующей величины поля признаков в составе первой записи потока; конфигурирование второй величины поля признаков в составе сервисной записи потока в качестве соответствующей величины поля заголовка в заголовке пакета в составе второго пакета данных; и конфигурирование величины действия в составе сервисной записи потока в качестве величины действия в составе второй записи потока, где поле признаков, соответствующее величине первого поля признаков, принадлежит полю признаков, соответствующему величине поля признаков в составе первой записи потока, и поле признаков, соответствующее второй величине поля признаков, не принадлежит полю признаков, соответствующему величине поля признаков в составе второй записи потока; и
модуль обработки пакетов данных дополнительно конфигурирован для того, чтобы: осуществлять поиск, когда происходит позднее прием последующего пакета данных для второго сервиса, в сервисной таблице потоков для обнаружения сервисной записи потока, согласованной с этим последующим пакетом данных, и обрабатывать этот последующий пакет данных согласно действию из состава найденной сервисной записи потока.
С учетом третьего аспекта или какого-либо из возможных вариантов с первого по четвертый способа осуществления этого третьего аспекта, согласно пятому возможному варианту способа осуществления третьего аспекта, устройство связи далее содержит модуль конфигурирования соответствия, где:
модуль конфигурирования соответствия конфигурирован для того, чтобы осуществлять конфигурирование соответствия между путями сервисов и соответствующими аппаратными таблицами потоков, где совокупность этих путей сервисов содержит первый целевой путь сервиса, что, в частности, содержит: модуль конфигурирования соответствия конфигурирован для осуществления конфигурирования нескольких физических таблиц потоков и соответствия между этими физическими таблицами потоков и аппаратными таблицами потоков, где эти несколько физических таблиц потоков по отдельности содержат поддерживаемые поля признаков и действия, поля признаков из каждой физической таблицы потоков входят в состав совокупности полей признаков соответствующей аппаратной таблицы потоков, а действие, которое является действием из состава каждой физической таблицы потоков и которое должно быть записано в рассматриваемую аппаратную таблицу потоков, включено в совокупность действий соответствующей аппаратной таблицы потоков; и модуль конфигурирования соответствия конфигурирован для осуществления конфигурирования соответствия между путями сервисов и физическими таблицами потоков, где поле признаков в составе каждого пути сервиса входит в состав группы полей признаков из всех соответствующих физических таблиц потоков, а действие в составе каждого пути сервиса входит в состав группы действий из всех соответствующих физических таблиц потоков; и
модуль обработки пакетов данных конфигурирован для определения, согласно предварительно конфигурированному соответствию между первым целевым путем сервиса и первой аппаратной таблицей потоков, такой первой аппаратной таблицы потоков, соответствующей первому целевому пути сервиса, что, в частности, содержит: модуль обработки пакетов данных конфигурирован для определения первой физической таблицы потоков согласно соответствию между первым целевым путем сервиса и соответствующей первой физической таблицей потоков, и определения первой аппаратной таблицы потоков согласно соответствию между первой физической таблицей потоков и соответствующей первой аппаратной таблицей потоков.
Четвертый аспект предлагает устройство связи для осуществления конфигурирования записи потока, содержащее процессор и запоминающее устройство, где:
запоминающее устройство конфигурировано для сохранения команд для управления работой компьютера (далее компьютерные команды); и
процессор конфигурирован для выполнения этих компьютерных команд, сохраняемых в запоминающем устройстве, так что это устройство связи выполняет следующие операции:
сообщение структуры таблицы потоков контроллеру с использованием протокола OpenFlow OpenFlow, где структура таблицы потоков содержит поля признаков и действия, поддерживаемые несколькими таблицами потоков OpenFlow, и указание типов этих нескольких таблиц потоков OpenFlow, здесь имеет место пересечение между полями признаков и действиями, поддерживаемыми посредством нескольких таблиц потоков OpenFlow, это пересечение содержит поле признаков и действие, используемые для осуществления первого сервиса, поддерживаемого аппаратной таблицей потоков в памяти кристалла интегральной схемы аппаратного передатчика, а типы нескольких таблиц потоков OpenFlow все представляют собой универсальный тип (wildcard type), и это устройство связи соединено с кристаллом интегральной схемы аппаратного передатчика;
прием записи потока, генерируемой согласно структуре таблицы потоков и переданной контроллеру с использованием протокола OpenFlow, и конфигурирование записи потока в программной таблице потоков, где эту запись потока генерирует контроллер согласно структуре таблицы потоков и информации относительно пакета данных, сообщенной устройством связи, эта информация относительно пакета данных содержит информацию относительно первого пакета данных для первого сервиса, а эта запись потока содержит по меньшей мере одну из записей потоков, согласованных с первым пакетом данных;
получение, из программной таблицы потоков, первой записи потока, согласованной с первым пакетом данных; обработку первого пакета данных согласно величине действия в составе первой записи потока; и определение, в составе предварительно конфигурированного пути сервиса, первого целевого пути сервиса, согласованного с первой записью потока, где совокупность полей признаков в составе найденного первого целевого пути сервиса содержит поле признаков входного порта и поле признаков заголовка пакета из группы полей признаков, соответствующих величинам полей признаков из состава первой записи потока, а действие в составе этого первого целевого пути сервиса представляет собой действие, соответствующее величине действия из группы величин действия из состава первой записи потока и используемое для обработки первого пакета данных;
определение, согласно предварительно конфигурированному соответствию между первым целевым путем сервиса и первой аппаратной таблицей потоков в памяти кристалла интегральной схемы аппаратного передатчика, такой первой аппаратной таблицы потоков, соответствующей первому целевому пути сервиса, где первая аппаратная таблица потоков, соответствующая первому целевому пути сервиса, поддерживает сервис, поддерживаемый первым целевым путем сервиса; и
конфигурирование записи потока в первой аппаратной таблице потоков согласно первой записи потока.
Согласно первому возможному варианту способа осуществления четвертого аспекта, процессор выполняет компьютерные команды, так что, в частности, поля признаков из состава нескольких таблиц потоков OpenFlow, сообщаемых устройством связи, все представляют собой поля признаков, поддерживаемые протоколом OpenFlow, и действия из состава сообщенных нескольких таблиц потоков OpenFlow, все представляют собой действия, поддерживаемые протоколом OpenFlow.
С учетом четвертого аспекта или первого возможного варианта способа осуществления этого четвертого аспекта, согласно второму возможному варианту способа осуществления четвертого аспекта, процессор выполняет компьютерные команды, так что устройство связи, в частности, осуществляет следующие операции:
когда имеются две или более первых записей потоков, агрегирование этих первых записей потоков для генерации комбинированной записи потока, где величины полей признаков, входящие в комбинированную запись потока, представляют собой величины полей признаков, которые входят в совокупность величин полей признаков из состава первых записей потоков и соответствуют полю признаков входного порта и полю признаков заголовка пакета, величины действий, входящие в состав комбинированной записи потока, представляют собой величины действий, которые входят в совокупность величин действий из состава первых записей потоков и используются для обработки первого пакета данных; и определение, в составе предварительно конфигурированного пути сервиса, одного пути сервиса, в котором поля признаков содержат поля признаков, соответствующие величинам полей признаков из состава комбинированной записи потока, и в котором действия, содержат действия, соответствующие величинам действий из состава комбинированной записи потока, в качестве первого целевого пути сервиса; и
когда имеется только одна первая запись потока, определение, в составе предварительно конфигурированного пути сервиса, одного пути сервиса, в котором поле признаков представляет собой поле признаков, соответствующее величине поля признаков из состава первой записи потока, и в котором действие представляет собой действие, соответствующее величине действия в составе первой записи потока, в качестве первого целевого пути сервиса.
С учетом четвертого аспекта или первого или второго возможных вариантов способа осуществления этого четвертого аспекта, согласно третьему возможному варианту способа осуществления четвертого аспекта, пересечение далее содержит поле признаков и действие, используемые для осуществления второго сервиса, не поддерживаемого аппаратной таблицей потоков в памяти кристалла интегральной схемы аппаратного передатчика, информация относительно пакета данных далее содержит информацию о втором пакете данных для второго сервиса, а запись потока, принятая от контроллера, далее содержит по меньшей мере одну из записей потока, согласованную со вторым пакетом данных; и
процессор выполняет компьютерные команды, так что устройство связи далее осуществляет следующие операции: получение, из программной таблицы потоков, второй записи потока, согласованной со вторым пакетом данных, и обработку этого второго пакета данных согласно действию из состава второй записи потока.
С учетом третьего возможного варианта способа осуществления четвертого аспекта, согласно четвертому возможному варианту способа осуществления четвертого аспекта, процессор выполняет компьютерные команды, так что устройство связи далее осуществляет следующие операции:
определение в составе предварительно конфигурированного пути сервиса, второго целевого пути сервиса, согласованного со второй записью потока, где совокупность полей признаков в составе найденного второго целевого пути сервиса содержит поле признаков входного порта и поле признаков заголовка пакета из группы полей признаков, соответствующих величинам полей признаков из состава второй записи потока, а действие из состава второго целевого пути сервиса представляет собой действие, соответствующее величине действия, которая входит в совокупность величин действия в составе второй записи потока и которая используется для обработки второго пакета данных;
конфигурирование, посредством устройства связи, согласно второй записи потока, сервисной записи потока в сервисной таблице потоков, соответствующей второму целевому пути сервиса, где эта сервисная таблица потоков представляет собой таблицу точного совпадения, а поля признаков в этой сервисной таблице потоков являются всеми полями признаков в составе второго целевого пути сервиса; конфигурирование величины первого поля признаков в составе сервисной записи потока в виде соответствующей величины поля признаков в составе первой записи потока; конфигурирование величины второго поля признаков в составе сервисной записи потока в виде соответствующей величины поля заголовка в заголовке пакета в составе второго пакета данных; и конфигурирование величины действия в составе сервисной записи потока в виде величины действия в составе второй записи потока, где поле признаков, соответствующее величине первого поля признаков, принадлежит к полю признаков, соответствующему величине поля признаков в составе первой записи потока, а поле признаков, соответствующее величине второго поля признаков, не принадлежит к полю признаков, соответствующему величине поля признаков в составе второй записи потока; и
поиск, когда происходит позднее прием следующего пакета данных для второго сервиса, в сервисной таблице потоков для обнаружения сервисной записи потока, согласованной с этим последующим потоком данных, и обработку этого последующего пакета данных согласно действию из состава найденной сервисной записи потока.
С учетом четвертого аспекта или какого-либо из возможных вариантов с первого по четвертый способа осуществления этого четвертого аспекта, согласно пятому возможному варианту способа осуществления четвертого аспекта, процессор выполняет компьютерные команды, так что устройство связи далее осуществляет следующие операции: конфигурирование соответствия между путями сервисов и соответствующими аппаратными таблицами потоков, где совокупность путей сервисов содержит первый целевой путь сервиса, так что это конфигурирование, в частности, содержит:
конфигурирование нескольких физических таблиц потоков и соответствия между этими физическими таблицами потоков и аппаратными таблицами потоков, где эти несколько физических таблиц потоков по отдельности содержат поддерживаемые поля признаков и действия, поля признаков из каждой физической таблицы потоков входят в состав совокупности полей признаков соответствующей аппаратной таблицы потоков, а действие, которое является действием из состава каждой физической таблицы потоков, и которое должно быть записано в рассматриваемую аппаратную таблицу потоков, включено в совокупность действий соответствующей аппаратной таблицы потоков; и
конфигурирование соответствия между путями сервисов и физическими таблицами потоков, где поле признаков каждого из путей сервисов включают в состав совокупности полей признаков всех соответствующих физических таблиц потоков, и действие из каждого пути сервиса включают в состав совокупности действий из всех соответствующих физических таблиц потоков; и
процессор выполняет компьютерные команды, так что устройство связи определяет согласно предварительно конфигурированному соответствию между первым целевым путем сервиса и первой аппаратной таблицей потоков, такую первую аппаратную таблицу потоков, соответствующую первому целевому пути сервиса, и эта процедура определения, в частности, содержит:
процессор выполняет компьютерные команды, так что устройство связи, в частности, определяет первую физическую таблицу потоков согласно соответствию между первым целевым путем сервиса и соответствующей первой физической таблицей потоков, и определяет первую аппаратную таблицу потоков согласно соответствию между первой физической таблицей потоков и соответствующей первой аппаратной таблицей потоков.
Пятый аспект предлагает способ конфигурирования записи потока, содержащий:
сообщение, посредством коммутатора, информации относительно пакета данных для первого сервиса контроллеру;
прием, посредством коммутатора, записи потока, которая соответствует первому сервису и которую передал контроллер, согласно информации относительно пакета данных для первого сервиса и структуре таблицы потоков, где структура таблицы потоков содержит поля признаков и действия, поддерживаемые несколькими таблицами потоков, поле признаков, поддерживаемое каждой из нескольких таблиц потоков, представляет собой поле признаков, соответствующее первому сервису, а действие, поддерживаемое каждой из нескольких таблиц потоков, представляет собой действие, соответствующее первому сервису;
определение, посредством коммутатора, в составе предварительно конфигурированного пути сервиса, первого целевого пути сервиса, согласованного с записью потока, соответствующей первому сервису, где поле признаков в составе первого целевого пути сервиса представляет собой поле признаков, соответствующее первому сервису, а действие в составе целевого пути сервиса представляет собой действия из состава первого сервиса;
определение, посредством коммутатора, целевой аппаратной таблицы потоков согласно предварительно конфигурированному соответствию между путем сервиса и аппаратной таблицей потоков в памяти коммутатора, где целевая аппаратная таблица потоков поддерживает сервис, поддерживаемый первым целевым путем сервиса; и
конфигурирование, посредством коммутатора, записи потока в целевой аппаратной таблице потоков согласно записи потока, соответствующей первому сервису.
Согласно первому возможному варианту способа осуществления пятого аспекта, коммутатор осуществляет связь с контроллером с использованием протокола OpenFlow OpenFlow и нескольких таблиц потоков OpenFlow.
С учетом первого возможного варианта способа осуществления пятого аспекта, согласно второму возможному варианту способа осуществления пятого аспекта, поля признаков из состава нескольких таблиц потоков все представляют собой поля признаков, поддерживаемые протоколом OpenFlow, а действия из состава нескольких таблиц потоков все представляют собой действия, поддерживаемые протоколом OpenFlow.
С учетом пятого аспекта или первого или второго возможных вариантов способа осуществления этого пятого аспекта, согласно третьему возможному варианту способа осуществления пятого аспекта, процедура определения, посредством коммутатора, в составе предварительно конфигурированного пути сервиса, первого целевого пути сервиса, согласованного с записью потока, соответствующей первому сервису, в частности, содержит:
конфигурирование, посредством коммутатора, записи потока, соответствующей первому сервису, в программной таблице потоков; и
получение, посредством коммутатора, из программной таблицы потоков, первой записи потока, согласованной с пакетом данных для первого сервиса, и определение, в составе предварительно конфигурированного пути сервиса, первого целевого пути сервиса, согласованного с этой первой записью потока, где совокупность полей признаков в составе найденного первого целевого пути сервиса содержит поле признаков входного порта и поле признаков заголовка пакета из группы полей признаков, соответствующих величинам полей признаков из состава первой целевой записи потока, а действие в составе этого первого целевого пути сервиса представляет собой действие, соответствующее величине действия из группы величин действия из состава первой записи потока и используемое для обработки пакета данных для первого сервиса; и
конфигурирование, посредством коммутатора, записи потока из состава целевой аппаратной таблицы потоков согласно записи потока, соответствующей первому сервису, в частности, содержит: конфигурирование, посредством коммутатора, записи потока из состава целевой аппаратной таблицы потоков согласно первой целевой записи потока.
С учетом третьего возможного варианта способа осуществления пятого аспекта, согласно четвертому возможному варианту способа осуществления пятого аспекта, процедура определения, в составе предварительно конфигурированного пути сервиса, первого целевого пути сервиса, согласованного с первой целевой записью потока, в частности, содержит:
когда имеются две или более первых целевых записей потоков, агрегирование этих первых целевых записей потоков для генерации комбинированной записи потока, где величины полей признаков, входящие в комбинированную запись потока, представляют собой величины полей признаков, которые входят в совокупность величин полей признаков из состава первых целевых записей потоков и соответствуют полю признаков входного порта и полю признаков заголовка пакета, величины действий, входящие в состав комбинированной записи потока, представляют собой величины действий, которые входят в совокупность величин действий из состава первых целевых записей потоков и используются для обработки пакета данных для первого сервиса; и определение, в составе предварительно конфигурированного пути сервиса, одного пути сервиса, в котором поля признаков содержат поля признаков, соответствующие величинам полей признаков из состава комбинированной записи потока, и в котором действия, содержат действия, соответствующие величинам действий из состава комбинированной записи потока, в качестве первого целевого пути сервиса; и
когда имеется только одна первая целевая запись потока, определение, в составе предварительно конфигурированного пути сервиса, одного пути сервиса, в котором поле признаков представляет собой поле признаков, соответствующее величине поля признаков из состава первой целевой записи потока, и в котором действие представляет собой действие, соответствующее величине действия в составе первой целевой записи потока, в качестве первого целевого пути сервиса.
С учетом пятого аспекта или какого-либо из возможных вариантов с первого по четвертый способа осуществления этого пятого аспекта, согласно пятому возможному варианту способа осуществления пятого аспекта, поле признаков и действие, поддерживаемые каждым из нескольких таблиц потоков, далее содержат поле признаков и действие для второго сервиса, причем второй сервис представляет собой сервис, не поддерживаемый аппаратной таблицей потоков, находящейся в памяти коммутатора; и
способ дополнительно содержит:
сообщение, посредством коммутатора, информации относительно пакета данных для второго сервиса контроллеру; и
прием, посредством коммутатора, записи потока, которая соответствует второму сервису и которую передает контроллер согласно информации относительно пакета данных для второго сервиса и структуре таблицы потоков, и конфигурирование записи потока, соответствующей второму сервису, в программной таблице потоков.
С учетом пятого возможного варианта способа осуществления пятого аспекта, согласно шестому возможному варианту способа осуществления пятого аспекта, после конфигурирования записи потока, соответствующей второму сервису, в программной таблице потоков, способ дополнительно содержит:
получение, посредством коммутатора, из программной таблицы потоков, второй целевой записи потока, согласованной с пакетом данных для второго сервиса;
определение, посредством коммутатора, в составе предварительно конфигурированного пути сервиса, второго целевого пути сервиса, согласованного со второй целевой записью потока, где совокупность полей признаков в составе найденного второго целевого пути сервиса содержит поле признаков входного порта и поле признаков заголовка пакета из группы полей признаков, соответствующих величинам полей признаков из состава второй целевой записи потока, а действие из состава второго целевого пути сервиса представляет собой действие, соответствующее величине действия, которая входит в совокупность величин действия в составе второй целевой записи потока и которая используется для обработки второго пакета данных;
конфигурирование, посредством коммутатора, согласно второй целевой записи потока, сервисной записи потока в сервисной таблице потоков, соответствующей второму целевому пути сервиса, где эта сервисная таблица потоков представляет собой таблицу точного совпадения, а поля признаков в этой сервисной таблице потоков являются всеми полями признаков в составе второго целевого пути сервиса; конфигурирование величины первого поля признаков в составе сервисной записи потока в виде соответствующей величины поля признаков в составе второй целевой записи потока; конфигурирование величины второго поля признаков в составе сервисной записи потока в виде соответствующей величины поля заголовка в заголовке пакета в составе пакета данных для второго сервиса; и конфигурирование величины действия в составе сервисной записи потока в виде величины действия в составе второй целевой записи потока, где поле признаков, соответствующее величине первого поля признаков, принадлежит к полю признаков, соответствующему величине поля признаков в составе второй записи потока, а поле признаков, соответствующее величине второго поля признаков, не принадлежит к полю признаков, соответствующему величине поля признаков в составе второй записи потока; и
поиск, посредством коммутатора, когда происходит позднее прием следующего пакета данных для второго сервиса, в сервисной таблице потоков для обнаружения сервисной записи потока, согласованной с этим последующим пакетом данных, и обработка этого последующего пакета данных согласно действию из состава найденной сервисной записи потока.
С учетом пятого аспекта или какого-либо из возможных вариантов с первого по шестой способа осуществления этого пятого аспекта, согласно седьмому возможному варианту способа осуществления пятого аспекта, прежде определения целевой аппаратной таблицы потоков согласно предварительно конфигурированному соответствию между путем сервиса и аппаратной таблицей потоков, способ дополнительно содержит: конфигурирование соответствия между путями сервисов и соответствующими аппаратными таблицами потоков, что, в частности, содержит:
конфигурирование нескольких физических таблиц потоков и соответствия между этими физическими таблицами потоков и аппаратными таблицами потоков, где эти несколько физических таблиц потоков по отдельности содержат поддерживаемые поле признаков и действие, поле признаков из каждой физической таблицы потоков входит в совокупность полей признаков в составе соответствующей аппаратной таблицы потоков, а действие, которое входит в совокупность действий в составе каждой физической таблицы потоков и которое нужно записать в аппаратную таблицу потоков, включают в группу действий соответствующей аппаратной таблицы потоков; и
конфигурирование соответствия между путями сервисов и физическими таблицами потоков, где поле признаков в составе каждого пути сервиса входит в совокупность полей признаков из состава всех физических таблиц потоков, а действие в составе каждого пути сервиса входит в группу действий для всех соответствующих физических таблиц потоков; и
процедура определения, посредством коммутатора, целевой аппаратной таблицы потоков согласно предварительно конфигурированному соответствию между путем сервиса и аппаратной таблицей потоков, в частности, содержит:
определение, посредством коммутатора, первой физической таблицы потоков, согласно соответствию между первым целевым путем сервиса и соответствующей первой физической таблицей потоков, и определение целевой аппаратной таблицы потоков согласно соответствию между первой физической таблицей потоков и соответствующей целевой аппаратной таблицей потоков.
С учетом пятого аспекта или какого-либо из возможных вариантов с первого по седьмой способа осуществления этого пятого аспекта, согласно восьмому возможному варианту способа осуществления пятого аспекта, прежде сообщения, посредством коммутатора, информации относительно пакета данных для первого сервиса контроллеру, способ дополнительно содержит: сообщение, посредством коммутатора, структуры таблицы потоков контроллеру.
С учетом пятого аспекта или какого-либо из возможных вариантов с первого по восьмой способа осуществления этого пятого аспекта, согласно девятому возможному варианту способа осуществления пятого аспекта, структура таблицы потоков далее содержит указание типов нескольких таблиц потоков, где эти типы нескольких таблиц потоков представляют собой универсальный тип (wildcard type).
Шестой аспект предлагает способ конфигурирования записи потока, содержащий:
сообщение, посредством устройства связи, информации относительно пакета данных для первого сервиса контроллеру;
прием, посредством устройства связи, записи потока, которая соответствует первому сервису и которую передал контроллер, согласно информации относительно пакета данных для первого сервиса и структуре таблицы потоков, где структура таблицы потоков содержит поля признаков и действия, поддерживаемые несколькими таблицами потоков, поле признаков, поддерживаемое каждой из нескольких таблиц потоков, представляет собой поле признаков, соответствующее первому сервису, а действие, поддерживаемое каждой из нескольких таблиц потоков, представляет собой действие, соответствующее первому сервису;
определение, посредством устройства связи, в составе предварительно конфигурированного пути сервиса, первого целевого пути сервиса, согласованного с записью потока, соответствующей первому сервису, где поле признаков в составе первого целевого пути сервиса представляет собой поле признаков для первого сервиса, а действие в составе целевого пути сервиса представляет собой действие из состава первого сервиса;
определение, посредством устройства связи, целевой аппаратной таблицы потоков согласно предварительно конфигурированному соответствию между путем сервиса и аппаратной таблицей потоков в памяти кристалла интегральной схемы аппаратного передатчика, соединенного с устройством связи, где эта целевая аппаратная таблица потоков поддерживает сервис, поддерживаемый первым целевым путем сервиса; и
конфигурирование, посредством устройства связи, записи потока в целевой аппаратной таблице потоков согласно записи потока, соответствующей первому сервису.
Согласно первому возможному варианту способа осуществления шестого аспекта, устройство связи осуществляет связь с контроллером с использованием протокола OpenFlow OpenFlow, а таблицы потоков представляют собой таблицы потоков для протокола OpenFlow; поля признаков в составе этих нескольких таблиц потоков все представляют собой поля признаков, поддерживаемые протоколом OpenFlow, а действия в составе этих нескольких таблиц потоков все представляют собой действия, поддерживаемые протоколом OpenFlow.
С учетом шестого аспекта или первого возможного варианта способа осуществления этого шестого аспекта, согласно второму возможному варианту способа осуществления шестого аспекта, процедура определения, посредством устройства связи, в составе предварительно конфигурированного пути сервиса, первого целевого пути сервиса, согласованного с записью потока, соответствующей первому сервису, в частности, содержит:
конфигурирование, посредством устройства связи, записи потока, соответствующей первому сервису, в программной таблице потоков; и
получение, посредством устройства связи, из программной таблицы потоков, первой целевой записи потока, согласованной с пакетом данных для первого сервиса, и определение, в составе предварительно конфигурированного пути сервиса, первого целевого пути сервиса, согласованного с первой целевой записью потока, где совокупность полей признаков в составе найденного первого целевого пути сервиса содержит поле признаков входного порта и поле признаков заголовка пакета из группы полей признаков, соответствующих величинам полей признаков из состава первой целевой записи потока, а действие в составе этого первого целевого пути сервиса представляет собой действие, соответствующее величине действия из группы величин действия из состава первой целевой записи потока и используемое для обработки первого пакета данных; и
конфигурирование, посредством устройства связи, записи потока из состава целевой аппаратной таблицы потоков согласно записи потока, соответствующей первому сервису, в частности, содержит: конфигурирование, посредством устройства связи, записи потока из состава целевой аппаратной таблицы потоков согласно первой целевой записи потока.
С учетом второго возможного варианта способа осуществления шестого аспекта, согласно третьему возможному варианту способа осуществления шестого аспекта, процедура определения, в составе предварительно конфигурированного пути сервиса, первого целевого пути сервиса, согласованного с первой целевой записью потока, в частности, содержит:
когда имеются две или более первых целевых записей потоков, агрегирование этих первых целевых записей потоков для генерации комбинированной записи потока, где величины полей признаков, входящие в комбинированную запись потока, представляют собой величины полей признаков, которые входят в совокупность величин полей признаков из состава первых целевых записей потоков и соответствуют полю признаков входного порта и полю признаков заголовка пакета, а величины действий, входящие в состав комбинированной записи потока, представляют собой величины действий, которые входят в совокупность величин действий из состава первых целевых записей потоков и используются для обработки пакета данных для первого сервиса; и определение, в составе предварительно конфигурированного пути сервиса, одного пути сервиса, в котором поля признаков содержат поля признаков, соответствующие величинам полей признаков из состава комбинированной записи потока, и в котором действия, содержат действия, соответствующие величинам действий из состава комбинированной записи потока, в качестве первого целевого пути сервиса; и
когда имеется только одна первая целевая запись потока, определение, в составе предварительно конфигурированного пути сервиса, одного пути сервиса, в котором поле признаков представляет собой поле признаков, соответствующее величине поля признаков из состава первой целевой записи потока, и в котором действие представляет собой действие, соответствующее величине действия в составе первой целевой записи потока, в качестве первого целевого пути сервиса.
С учетом шестого аспекта или какого-либо из возможных вариантов с первого по третий способа осуществления этого шестого аспекта, согласно четвертому возможному варианту способа осуществления шестого аспекта, поле признаков и действие, поддерживаемые каждой из нескольких таблиц потоков, далее представляют собой поле признаков и действие, соответствующие второму сервису, а второй сервис представляет собой сервис, не поддерживаемый аппаратной таблицей потоков в памяти коммутатора; и
способ дополнительно содержит:
сообщение, посредством устройства связи, информации относительно пакета данных для второго сервиса контроллеру; и
прием, посредством устройства связи, записи потока, которая соответствует второму сервису и которую передает контроллер, согласно информации относительно пакета данных для второго сервиса и структуре таблицы потоков, и конфигурирование записи потока, соответствующей второму сервису, в программной таблице потоков.
С учетом четвертого возможного варианта способа осуществления шестого аспекта, согласно пятому возможному варианту способа осуществления шестого аспекта, после конфигурирования записи потока, соответствующей второму сервису, в программной таблице потоков, способ дополнительно содержит:
получение, посредством устройства связи, из состава программной таблицы потоков, второй целевой записи потока, согласованной с пакетом данных для второго сервиса;
определение, посредством устройства связи, в составе предварительно конфигурированного пути сервиса, второго целевого пути сервиса, согласованного со второй целевой записью потока, где совокупность полей признаков в составе найденного второго целевого пути сервиса содержит поле признаков входного порта и поле признаков заголовка пакета из группы полей признаков, соответствующих величинам полей признаков из состава второй целевой записи потока, а действие из состава найденного второго целевого пути сервиса представляет собой действие, соответствующее величине действия, которая входит в совокупность величин действия в составе второй целевой записи потока и которая используется для обработки пакета данных для второго сервиса;
конфигурирование, посредством устройства связи, согласно второй целевой записи потока, сервисной записи потока в сервисной таблице потоков, соответствующей второму целевому пути сервиса, где эта сервисная таблица потоков представляет собой таблицу точного совпадения, а поля признаков в этой сервисной таблице потоков являются всеми полями признаков в составе второго целевого пути сервиса; конфигурирование величины первого поля признаков в составе сервисной записи потока в виде соответствующей величины поля признаков в составе второй целевой записи потока; конфигурирование величины второго поля признаков в составе сервисной записи потока в виде соответствующей величины поля заголовка в заголовке пакета в составе пакета данных для второго сервиса; и конфигурирование величины действия в составе сервисной записи потока в виде величины действия в составе второй целевой записи потока, где поле признаков, соответствующее величине первого поля признаков, принадлежит к полю признаков, соответствующему величине поля признаков в составе второй целевой записи потока, а поле признаков, соответствующее величине второго поля признаков, не принадлежит к полю признаков, соответствующему величине поля признаков в составе второй записи потока; и
поиск, посредством устройства связи, когда происходит позднее прием последующего пакета данных для второго сервиса, в сервисной таблице потоков для обнаружения сервисной записи потока, согласованной с этим последующим потоком данных, и обработку этого последующего пакета данных согласно действию из состава найденной сервисной записи потока.
С учетом шестого аспекта или какого-либо из возможных вариантов с первого по пятый способа осуществления этого шестого аспекта, согласно шестому возможному варианту способа осуществления шестого аспекта, прежде определения целевой аппаратной таблицы потоков, согласно предварительно конфигурированному соответствию между путем сервиса и аппаратной таблицей потоков, способ дополнительно содержит: конфигурирование соответствия между путями сервисов и соответствующими аппаратными таблицами потоков, способ, в частности, содержит:
конфигурирование нескольких физических таблиц потоков и соответствия между этими физическими таблицами потоков и аппаратными таблицами потоков, где эти несколько физических таблиц потоков по отдельности содержат поддерживаемые поле признаков и действие, поле признаков из каждой физической таблицы потоков входит в совокупность полей признаков в составе соответствующей аппаратной таблицы потоков, а действие, которое входит в совокупность действий в составе каждой физической таблицы потоков и которое нужно записать в аппаратную таблицу потоков, включают в группу действий соответствующей аппаратной таблицы потоков; и
конфигурирование соответствия между путями сервисов и физическими таблицами потоков, где поле признаков в составе каждого пути сервиса входит в совокупность полей признаков из состава всех физических таблиц потоков, а действие в составе каждого пути сервиса входит в группу действий для всех соответствующих физических таблиц потоков; и
процедура определения, посредством устройства связи, целевой аппаратной таблицы потоков согласно предварительно конфигурированному соответствию между путем сервиса и аппаратной таблицей потоков, в частности, содержит:
определение, посредством устройства связи, первой физической таблицы потоков, согласно соответствию между первым целевым путем сервиса и соответствующей первой физической таблицей потоков, и определение целевой аппаратной таблицы потоков согласно соответствию между первой физической таблицей потоков и соответствующей целевой аппаратной таблицей потоков.
С учетом шестого аспекта или какого-либо из возможных вариантов с первого по шестой способа осуществления этого шестого аспекта, согласно седьмому возможному варианту способа осуществления шестого аспекта, структура таблицы потоков далее содержит указание типов нескольких таблиц потоков, причем эти типы нескольких таблиц потоков представляют собой универсальный тип (wildcard type).
Седьмой аспект предлагает устройство связи для осуществления конфигурирования записи потока, где это устройство связи соединено с кристаллом интегральной схемы аппаратного передатчика, и содержит интерфейсный модуль, модуль обработки пакетов данных и модуль конфигурирования аппаратной таблицы потоков, где:
интерфейсный модуль конфигурирован для сообщения информации относительно пакета данных для первого сервиса контроллеру и далее конфигурирован для приема записи потока, которая соответствует первому сервису и которую передает этот контроллер, согласно информации относительно пакета данных и структуре таблицы потоков, где эта структура таблицы потоков содержит поля признаков и действия, поддерживаемые указанными несколькими таблицами потоков, поле признаков, поддерживаемое каждой из нескольких таблиц потоков, представляет собой поле признаков, соответствующее первому сервису, и действие, поддерживаемое каждой из этих нескольких таблиц потоков, представляет собой действие, соответствующее первому сервису;
модуль обработки пакетов данных конфигурирован для определения, в составе предварительно конфигурированного пути сервиса, первого целевого пути сервиса, согласованного с записью потока, соответствующей первому сервису, где совокупность полей признаков этого первого целевого пути сервиса содержит поле признаков, соответствующее первому сервису, и действие в составе первого целевого пути сервиса представляет собой действие, соответствующее первому сервису; а модуль обработки пакетов данных конфигурирован для определения целевой аппаратной таблицы потоков согласно предварительно конфигурированному соответствию между путем сервиса и аппаратной таблицей потоков в памяти кристаллов интегральной схемы аппаратного передатчика, где эта целевая аппаратная таблица потоков поддерживает сервис, поддерживаемый первым целевым путем сервиса; и
модуль конфигурирования аппаратной таблицы потоков конфигурирован для осуществления конфигурирования записи потока в составе целевой аппаратной таблицы потоков согласно записи потока, соответствующей первому сервису.
Согласно первому возможному варианту способа осуществления седьмого аспекта, устройство связи осуществляет связь с контроллером с использованием протокола OpenFlow OpenFlow, а таблицы потоков представляют собой таблицы потоков OpenFlow; поля признаков в составе нескольких таблиц потоков все представляют собой поля признаков, поддерживаемых протоколом OpenFlow, и действия в составе нескольких таблиц потоков все представляют собой действия, поддерживаемые протоколом OpenFlow.
С учетом седьмого аспекта или первого возможного варианта способа осуществления этого седьмого аспекта, согласно второму возможному варианту способа осуществления седьмого аспекта, модуль обработки пакетов данных конфигурирован для определения, в составе предварительно конфигурированного пути сервиса, первого целевого пути сервиса, согласованного с записью потока, соответствующей первому сервису, в частности, содержит:
модуль обработки пакетов данных конфигурирован для того, чтобы: осуществить конфигурирование записи потока, соответствующей первому сервису, в программной таблице потоков, получить, из программной таблицы потоков первую целевую запись потока, согласованную с пакетом данных для первого сервиса, и определить, в составе предварительно конфигурированного пути сервиса, первый целевой путь сервиса, согласованный с первой целевой записи потока, где совокупность полей признаков в составе найденного первого целевого пути сервиса содержит поле признаков входного порта и поле признаков заголовка пакета из группы полей признаков, соответствующих величинам полей признаков из состава первой целевой записи потока, а действие в составе этого первого целевого пути сервиса представляет собой действие, соответствующее величине действия из группы величин действия из состава первой целевой записи потока и используемое для обработки первого пакета данных; и
модуль конфигурирования аппаратной таблицы потоков специально конфигурирован для осуществления конфигурирования записи потока в составе целевой аппаратной таблицы потоков согласно первой целевой записи потока.
С учетом второго возможного варианта способа осуществления седьмого аспекта, согласно третьему возможному варианту способа осуществления седьмого аспекта, модуль обработки пакетов данных, конфигурированный для определения, в составе предварительно конфигурированного пути сервиса, целевого пути сервиса, согласованного с первой целевой записью потока, в частности, содержит:
модуль обработки пакетов данных конфигурирован для того, чтобы: когда имеются две или более первых целевых записей потоков, осуществить агрегирование этих первых целевых записей потоков для генерации комбинированной записи потока, где величины полей признаков, входящие в комбинированную запись потока, представляют собой величины полей признаков, которые входят в совокупность величин полей признаков из состава первых целевых записей потоков и соответствуют полю признаков входного порта и полю признаков заголовка пакета, а величины действий, входящие в состав комбинированной записи потока, представляют собой величины действий, которые входят в совокупность величин действий из состава первых целевых записей потоков и используются для обработки пакета данных для первого сервиса; и определение, в составе предварительно конфигурированного пути сервиса, одного пути сервиса, в котором поля признаков содержат поля признаков, соответствующие величинам полей признаков из состава комбинированной записи потока, и в котором действия, содержат действия, соответствующие величинам действий из состава комбинированной записи потока, в качестве первого целевого пути сервиса; и модуль обработки пакетов данных конфигурирован для того, чтобы: когда имеется только одна первая целевая запись потока, осуществить определение, в составе предварительно конфигурированного пути сервиса, одного пути сервиса, в котором поле признаков представляет собой поле признаков, соответствующее величине поля признаков из состава первой целевой записи потока, и в котором действие представляет собой действие, соответствующее величине действия в составе первой целевой записи потока, в качестве первого целевого пути сервиса.
С учетом седьмого аспекта или какого-либо из возможных вариантов с первого по третий способа осуществления этого седьмого аспекта, согласно четвертому возможному варианту способа осуществления седьмого аспекта, поле признаков и действие, поддерживаемые каждой из нескольких таблиц потоков, представляют собой поле признаков и действие, соответствующие второму сервису, где этот второй сервис представляет собой сервис, не поддерживаемый аппаратной таблицей потоков, хранящейся в памяти коммутатора; и
интерфейсный модуль дополнительно конфигурирован для того, чтобы сообщать информацию относительно пакета данных для второго сервиса контроллеру, и принимать запись потока, которая соответствует второму сервису и которую передает контроллер, согласно информации относительно пакета данных для второго сервиса и структуры таблицы потоков; и
модуль обработки пакетов данных дополнительно конфигурирован для того, чтобы осуществлять конфигурирование записи потока, которая соответствует второму сервису и которую принял интерфейсный модуль, в программной таблице потоков.
С учетом седьмого аспекта или какого-либо из возможных вариантов с первого по четвертый способа осуществления этого седьмого аспекта, согласно пятому возможному варианту способа осуществления седьмого аспекта, устройство связи содержит модуль конфигурирования сервисной таблицы потоков, где:
модуль обработки пакетов данных далее конфигурирован для получения из состава программной таблицы потоков, второй целевой записи потока, согласованной с пакетом данных для второго сервиса, и определения, в составе предварительно конфигурированного пути сервиса, второго целевого пути сервиса, согласованного со второй целевой записью потока, где совокупность полей признаков в составе найденного второго целевого пути сервиса содержит поле признаков входного порта и поле признаков заголовка пакета из группы полей признаков, соответствующих величинам полей признаков из состава второй целевой записи потока, а действие из состава найденного второго целевого пути сервиса представляет собой действие, соответствующее величине действия, которая входит в совокупность величин действия в составе второй целевой записи потока и которая используется для обработки пакета данных для второго сервиса;
модуль конфигурирования сервисной таблицы потоков конфигурирован для того, чтобы: конфигурировать, согласно второй целевой записи потока, сервисную запись потока в сервисной таблице потоков, соответствующей второму целевому пути сервиса, где эта сервисная таблица потоков представляет собой таблицу точного совпадения, а поля признаков в этой сервисной таблице потоков все являются полями признаков в составе второго целевого пути сервиса; конфигурировать величину первого поля признаков в составе сервисной записи потока в виде соответствующей величины поля признаков в составе второй целевой записи потока; конфигурировать величину второго поля признаков в составе сервисной записи потока в виде соответствующей величины поля заголовка в заголовке пакета в составе пакета данных для второго сервиса; и конфигурировать величину действия в составе сервисной записи потока в виде величины действия в составе второй записи потока, где поле признаков, соответствующее величине первого поля признаков, принадлежит к полю признаков, соответствующему величине поля признаков в составе второй целевой записи потока, а поле признаков, соответствующее величине второго поля признаков, не принадлежит к полю признаков, соответствующему величине поля признаков в составе второй записи потока; и
модуль обработки пакетов данных далее конфигурирован для того, чтобы: осуществлять поиск, когда происходит позднее прием последующего пакета данных для второго сервиса, в сервисной таблице потоков для обнаружения сервисной записи потока, согласованной с этим последующим потоком данных, и обрабатывать этот последующий пакет данных согласно действию из состава найденной сервисной записи потока.
С учетом седьмого аспекта или какого-либо из возможных вариантов с первого по пятый способа осуществления этого седьмого аспекта, согласно шестому возможному варианту способа осуществления седьмого аспекта, устройство связи далее содержит модуль конфигурирования соответствия, где:
модуль конфигурирования соответствия конфигурирован для того, чтобы конфигурировать соответствие между путями сервисов и соответствующими аппаратными таблицами потоков, что, в частности, содержит: этот модуль конфигурирования соответствия конфигурирован для того, чтобы: конфигурировать несколько физических таблиц потоков и соответствия между этими физическими таблицами потоков и аппаратными таблицами потоков, где эти несколько физических таблиц потоков по отдельности содержат поддерживаемые поле признаков и действие, поле признаков из каждой физической таблицы потоков входит в совокупность полей признаков в составе соответствующей аппаратной таблицы потоков, а действие, которое входит в совокупность действий в составе каждой физической таблицы потоков и которое нужно записать в аппаратную таблицу потоков, включают в группу действий соответствующей аппаратной таблицы потоков; и этот модуль конфигурирования соответствия конфигурирован для того, чтобы конфигурировать соответствие между путями сервисов и физическими таблицами потоков, где поле признаков в составе каждого пути сервиса входит в совокупность полей признаков из состава всех физических таблиц потоков, а действие в составе каждого пути сервиса входит в группу действий для всех соответствующих физических таблиц потоков; и
модуль обработки пакетов данных конфигурирован для определения целевой аппаратной таблицы потоков согласно предварительно конфигурированному соответствию между путем сервиса и аппаратной таблицей потоков, что, в частности, содержит: модуль обработки пакетов данных конфигурирован для определения первой физической таблицы потоков, согласно соответствию между первым целевым путем сервиса и соответствующей первой физической таблицей потоков, и определения целевой аппаратной таблицы потоков согласно соответствию между первой физической таблицей потоков и соответствующей целевой аппаратной таблицей потоков.
Восьмой аспект предлагает устройство связи для осуществления конфигурирования записи потока, содержащее процессор и запоминающее устройство, где:
запоминающее устройство конфигурировано для сохранения компьютерных команд; и
процессор конфигурирован для выполнения этих компьютерных команд, сохраняемых в запоминающем устройстве, так что это устройство связи выполняет следующие операции:
сообщение информации относительно пакета данных для первого сервиса контроллеру;
прием записи потока, которая соответствует первому сервису и которую передает контроллер, согласно информации относительно пакета данных для первого сервиса и структуре таблицы потоков, где эта структура таблицы потоков содержит поля признаков и действия, поддерживаемые несколькими таблицами потоков, поле признаков, поддерживаемое каждой из нескольких таблиц потоков, представляет собой поле признаков, соответствующее первому сервису, а действие, поддерживаемое каждой из нескольких таблиц потоков, представляет собой действие, соответствующее первому сервису;
определение, в составе предварительно конфигурированного пути сервиса, первого целевого пути сервиса, согласованного с записью потока, соответствующей первому сервису, где поле признаков в составе найденного первого целевого пути сервиса содержит поле признаков, соответствующее первому сервису, а действие в составе этого первого целевого пути сервиса представляет собой действие, соответствующее первому сервису;
определение, согласно предварительно конфигурированному соответствию между путем сервиса и аппаратной таблицей потоков в памяти кристалла интегральной схемы аппаратного передатчика, соединенного с устройством связи, целевой аппаратной таблицы потоков, где эта первая аппаратная таблица потоков поддерживает сервис, поддерживаемый первым целевым путем сервиса; и
конфигурирование записи потока в целевой аппаратной таблице потоков согласно записи потока, соответствующей первому сервису.
Согласно первому возможному варианту способа осуществления восьмого аспекта, устройство связи осуществляет связь с контроллером с использованием протокола OpenFlow OpenFlow, а указанные таблицы потоков представляют собой таблицы потоков OpenFlow; поля признаков в составе нескольких таблиц потоков все представляют собой поля признаков, поддерживаемые протоколом OpenFlow, и действия в составе нескольких таблиц потоков все представляют собой действия, поддерживаемые протоколом OpenFlow.
С учетом восьмого аспекта или первого возможного варианта способа осуществления этого восьмого аспекта, согласно второму возможному варианту способа осуществления восьмого аспекта, процессор выполняет компьютерные команды, так что устройство связи, в частности, осуществляет следующие операции:
конфигурирование записи потока, соответствующей первому сервису, в программной таблице потоков; и
получение, из программной таблицы потоков, первой целевой записи потока, согласованной с пакетом данных для первого сервиса, и определение, в составе предварительно конфигурированного пути сервиса, первого целевого пути сервиса, согласованного с первой целевой записью потока, где совокупность полей признаков в составе найденного первого целевого пути сервиса содержит поле признаков входного порта и поле признаков заголовка пакета в составе группы полей признаков, соответствующих величинам полей признаков в составе первой целевой записи потока, и действие для этого найденного первого целевого пути сервиса содержит действие, соответствующее величине действия, представляющей собой величину действия в составе первой целевой записи потока и используемой для обработки пакета данных для первого сервиса; и
конфигурирование записи потока в составе целевой аппаратной таблицы потоков согласно записи потока, соответствующей первому сервису, в частности, содержит: конфигурирование, посредством устройства связи, записи потока в составе целевой аппаратной таблицы потоков согласно первой целевой записи потока.
С учетом второго возможного варианта способа осуществления восьмого аспекта, согласно третьему возможному варианту способа осуществления восьмого аспекта, процессор выполняет компьютерные команды, так что устройство связи, в частности, осуществляет следующие операции:
когда имеются две или более первых целевых записей потоков, агрегирование этих первых целевых записей потоков для генерации комбинированной записи потока, где величины полей признаков, входящие в комбинированную запись потока, представляют собой величины полей признаков, которые входят в совокупность величин полей признаков из состава первых целевых записей потоков и соответствуют полю признаков входного порта и полю признаков заголовка пакета, а величины действий, входящие в состав комбинированной записи потока, представляют собой величины действий, которые входят в совокупность величин действий из состава первых целевых записей потоков и используются для обработки пакета данных для первого сервиса; и определение, в составе предварительно конфигурированного пути сервиса, одного пути сервиса, в котором поля признаков содержат поля признаков, соответствующие величинам полей признаков из состава комбинированной записи потока, и в котором действия, содержат действия, соответствующие величинам действий из состава комбинированной записи потока, в качестве первого целевого пути сервиса; и
когда имеется только одна первая целевая запись потока, определение, в составе предварительно конфигурированного пути сервиса, одного пути сервиса, в котором поле признаков представляет собой поле признаков, соответствующее величине поля признаков из состава первой целевой записи потока, и в котором действие представляет собой действие, соответствующее величине действия в составе первой целевой записи потока, в качестве первого целевого пути сервиса.
С учетом восьмого аспекта или какого-либо из возможных вариантов с первого по третий способа осуществления этого восьмого аспекта, согласно четвертому возможному варианту способа осуществления восьмого аспекта, поле признаков и действие, поддерживаемые каждой из нескольких таблиц потоков, далее представляют собой поле признаков и действие, соответствующие второму сервису, а этот второй сервис представляет собой сервис, не поддерживаемый аппаратной таблицей потоков, записанной в памяти коммутатора; и
процессор выполняет компьютерные команды, так что устройство связи далее осуществляет следующие операции:
сообщение информации относительно пакета данных для второго сервиса контроллеру; и
прием записи потока, которая соответствует второму сервису и которую передает контроллер согласно информации относительно указанного пакета данных для второго сервиса и структуре таблицы потоков, и конфигурирование записи потока, соответствующей второму сервису, в программной таблице потоков.
С учетом четвертого возможного варианта способа осуществления восьмого аспекта, согласно пятому возможному варианту способа осуществления восьмого аспекта, процессор выполняет компьютерные команды, так что устройство связи далее осуществляет следующие операции:
получение, из программной таблицы потоков, второй целевой записи потока, согласованной с пакетом данных для второго сервиса;
определение, в составе предварительно конфигурированного пути сервиса, второго целевого пути сервиса, согласованного со второй целевой записью потока, где совокупность полей признаков в составе найденного второго целевого пути сервиса содержит поле признаков входного порта и поле признаков заголовка пакета из группы полей признаков, соответствующих величинам полей признаков из состава второй целевой записи потока, а действие из состава найденного второго целевого пути сервиса представляет собой действие, соответствующее величине действия, которая входит в совокупность величин действия в составе второй целевой записи потока и которая используется для обработки пакета данных для второго сервиса;
конфигурирование, согласно второй целевой записи потока, сервисной записи потока в сервисной таблице потоков, соответствующей второму целевому пути сервиса, где эта сервисная таблица потоков представляет собой таблицу точного совпадения, а поля признаков в этой сервисной таблице потоков все являются полями признаков в составе второго целевого пути сервиса; конфигурирование величины первого поля признаков в составе сервисной записи потока в виде соответствующей величины поля признаков в составе второй целевой записи потока; конфигурирование величины второго поля признаков в составе сервисной записи потока в виде соответствующей величины поля заголовка в заголовке пакета в составе пакета данных для второго сервиса; и конфигурирование величины действия в составе сервисной записи потока в виде величины действия в составе второй целевой записи потока, где поле признаков, соответствующее величине первого поля признаков, принадлежит к полю признаков, соответствующему величине поля признаков в составе второй целевой записи потока, а поле признаков, соответствующее величине второго поля признаков, не принадлежит к полю признаков, соответствующему величине поля признаков в составе второй записи потока; и
поиск, когда происходит позднее прием последующего пакета данных для второго сервиса, в сервисной таблице потоков для обнаружения сервисной записи потока, согласованной с этим последующим пакетом данных, и обработку этого последующего пакета данных согласно действию из состава найденной сервисной записи потока; или
определение, в составе предварительно конфигурированного пути сервиса, второго целевого пути сервиса, согласованного со второй записью потока, где совокупность полей признаков в составе найденного второго целевого пути сервиса содержит поле признаков входного порта и поле признаков заголовка пакета из группы полей признаков, соответствующих величинам полей признаков из состава второй целевой записи потока, а действие из состава найденного второго целевого пути сервиса представляет собой действие, соответствующее величине действия, которая входит в совокупность величин действия в составе второй записи потока и которая используется для обработки второго пакета данных;
конфигурирование, согласно второй записи потока, сервисной записи потока в сервисной таблице потоков, соответствующей второму целевому пути сервиса, где эта сервисная таблица потоков представляет собой таблицу точного совпадения, а поля признаков в этой сервисной таблице потоков являются всеми полями признаков в составе второго целевого пути сервиса; конфигурирование величины первого поля признаков в составе сервисной записи потока в виде соответствующей величины поля признаков в составе первой записи потока; конфигурирование величины второго поля признаков в составе сервисной записи потока в виде соответствующей величины поля заголовка в заголовке пакета в составе второго пакета данных; и конфигурирование величины действия в составе сервисной записи потока в виде величины действия в составе второй записи потока, где поле признаков, соответствующее величине первого поля признаков, принадлежит к полю признаков, соответствующему величине поля признаков в составе первой записи потока, а поле признаков, соответствующее величине второго поля признаков, не принадлежит к полю признаков, соответствующему величине поля признаков в составе второй записи потока; и
поиск, когда происходит позднее прием последующего пакета данных для второго сервиса, в сервисной таблице потоков для обнаружения сервисной записи потока, согласованной с этим последующим потоком данных, и обработка этого последующего пакет данных согласно действию из состава найденной сервисной записи потока.
С учетом восьмого аспекта или какого-либо из возможных вариантов с первого по пятый способа осуществления этого восьмого аспекта, согласно шестому возможному варианту способа осуществления восьмого аспекта, процессор выполняет компьютерные команды, так что устройство связи далее выполняет следующие операции: конфигурирование соответствия между путями сервисов и соответствующими аппаратными таблицами потоков, и конфигурирование соответствия между путями сервисов и соответствующими аппаратными таблицами потоков, где процедура конфигурирования, в частности, содержит:
конфигурирование нескольких физических таблиц потоков и соответствия между этими физическими таблицами потоков и аппаратными таблицами потоков, где эти несколько физических таблиц потоков по отдельности содержат поддерживаемые поле признаков и действие, поле признаков из каждой физической таблицы потоков входит в совокупность полей признаков в составе соответствующей аппаратной таблицы потоков, а действие, которое входит в совокупность действий в составе каждой физической таблицы потоков и которое нужно записать в аппаратную таблицу потоков, включают в группу действий соответствующей аппаратной таблицы потоков; и
конфигурирование соответствия между путями сервисов и физическими таблицами потоков, где поле признаков в составе каждого пути сервиса входит в совокупность полей признаков из состава всех физических таблиц потоков, а действие в составе каждого пути сервиса входит в группу действий для всех соответствующих физических таблиц потоков; и
выполнение процессором компьютерных команд, так что процедура определения, посредством устройства связи, целевой аппаратной таблицы потоков согласно предварительно конфигурированному соответствию между путем сервиса и аппаратной таблицей потоков, в частности, содержит:
выполнение процессором компьютерных команд, так что устройство связи, в частности, определяет первую физическую таблицу потоков, согласно соответствию между первым целевым путем сервиса и соответствующей первой физической таблицей потоков, и определяет целевую аппаратную таблицу потоков согласно соответствию между первой физической таблицей потоков и соответствующей целевой аппаратной таблицей потоков.
Девятый аспект предлагает коммутатор, содержащий:
кристалл интегральной схемы аппаратного передатчика; и
устройство связи согласно третьему аспекту или какому-либо из возможных вариантов осуществления этого третьего аспекта с первого по пятый, либо устройство связи согласно четвертому аспекту или какому-либо из возможных вариантов осуществления этого четвертого аспекта с первого по пятый, либо устройство связи согласно седьмому аспекту или какому-либо из возможных вариантов осуществления этого седьмого аспекта с первого по шестой, либо устройство связи согласно восьмому аспекту или какому-либо из возможных вариантов осуществления этого восьмого аспекта с первого по шестой.
Десятый аспект предлагает систему связи, содержащую контроллер и коммутатор согласно девятому аспекту.
Согласно вариантам настоящего изобретения, все таблицы потоков OpenFlow могут быть использованы для осуществления первого сервиса, и поэтому, в соответствии с логической схемой обработки данных в контроллере, независимо от того, какой таблице потока или каким таблицам потоков принадлежит запись потока, генерируемая для первого сервиса, эту запись потока можно с успехом генерировать и передавать. Кроме того, первый целевой путь сервиса, найденный посредством коммутатора, содержит поле признаков и действие, соответствующие величине поля признаков и величине действия, относящихся к пакету данных для первого сервиса; поэтому, первый целевой путь сервиса поддерживает указанный первый сервис. Более того, поскольку аппаратная таблица потоков, соответствующая первому целевому пути сервиса, поддерживает сервис, поддерживаемый первым целевым путем сервиса, эта аппаратная таблица потоков, соответствующая первого целевого пути сервиса представляет собой аппаратную таблицу потоков, поддерживающую первый сервис. Далее, коммутатор может конфигурировать, в указанной аппаратной таблице потоков, запись потока, используемую для осуществления первого сервиса. Поэтому, независимо от того, к какому контроллеру присоединен коммутатор, этот коммутатор может успешно конфигурировать, в аппаратной таблице потоков, запись потока, используемую для осуществления первого сервиса, с целью успешно обрабатывать данные и команды для первого сервиса, тем самым уменьшая вероятность отказов в обработке первого сервиса.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Для более ясного описания технических решений вариантов настоящего изобретения далее следует краткое введение к прилагаемым чертежам, необходимым для описания вариантов настоящего изобретения или известной техники. Очевидно, что прилагаемые чертежи в последующем описании показывают всего лишь несколько вариантов настоящего изобретения, так что даже рядовой специалист в рассматриваемой области может на основе прилагаемых чертежей построить другие чертежи без особых творческих усилий.
Фиг. 1-1 – 1-2 представляют упрощенные схемы сетевой структуры для системы связи, согласно одному из вариантов настоящего изобретения.
Фиг. 2 представляет упрощенную логическую схему способа согласно варианту 1 настоящего изобретения.
Фиг. 3-1 – 3-2 представляют упрощенные структурные схемы устройства 200 связи согласно варианту 2 настоящего изобретения.
Фиг. 4 представляет упрощенную структурную схему устройства 300 связи согласно варианту 3 настоящего изобретения.
Фиг. 5 представляет упрощенную структурную схему коммутатора 400 согласно варианту 4 настоящего изобретения.
Фиг. 6 представляет упрощенную структурную схему устройства 500 связи согласно варианту 6 настоящего изобретения.
ОПИСАНИЕ ВАРИАНТОВ
Далее четко и полностью описаны технические решения вариантов настоящего изобретения со ссылками на прилагаемые чертежи вариантов настоящего изобретения. Очевидно, описываемые варианты представляют всего лишь некоторые, но не все варианты настоящего изобретения. Все другие варианты, которые могут быть получены даже рядовым специалистом в рассматриваемой области на основе изложенных здесь вариантов настоящего изобретения без особых творческих усилий, попадут в объем защиты настоящего изобретения.
На фиг. 1-1 представлена упрощенная схема сетевой структуры для системы связи, согласно одному из вариантов настоящего изобретения. Эта система связи содержит коммутатор (Switch) 110 и контроллер (Controller) 120, где коммутатор 110 осуществляет связь с контроллером 120 с использованием протокола OpenFlow.
Как показано на фиг. 1-2, коммутатор 110 может содержать устройство 110-1 связи на верхнем уровне и кристалл 110-2 интегральной схемы аппаратного передатчика на нижнем уровне, где этот кристалл 110-2 интегральной схемы аппаратного передатчика может, в частности, представлять собой кристалл специализированной интегральной схемы (Application Specific Integrated Circuits, ASIC), и при этом кристалл интегральной схемы аппаратного передатчика имеет в памяти аппаратную таблицу потоков, такую как список управления доступом (Access control list, ACL) 1 и список ACL 2.
Способ, устройство и система, предлагаемые вариантами настоящего изобретения, применимы в программно-конфигурируемых сетях (software defined network, сокращенно SDN), где такая система SDN содержит контроллер и коммутатор. Протокол, используемый для связи между контроллером и коммутатором, может представлять собой протокол OpenFlow или может быть каким-либо частным протоколом или другим стандартным протоколом. Структура таблицы потоков, используемая контроллером для передачи записи потока, может быть сообщена посредством коммутатора контроллеру или предварительно конфигурирована в этом контроллере. Кроме того, когда контроллер осуществляет связь с коммутатором с использованием протокола OpenFlow, эта структура таблицы потоков содержит поле признаков и действие, поддерживаемые таблицей потоков OpenFlow.
Следующие варианты описаны подробно с использованием примера, в котором применяется протокол OpenFlow. Способ осуществления изобретения, в котором используется другой протокол, аналогичен способу с применением протокола OpenFlow, ссылки могут быть сделаны на способы осуществления изобретения согласно следующим вариантам, а подробности здесь повторно описаны не будут.
На фиг. 2 представлена упрощенная логическая схема способа согласно варианту 1 настоящего изобретения. Способ согласно варианту 1 настоящего изобретения может быть применен к системе связи, показанной на фиг. 1-1 или фиг. 1-2.
Как показано на фиг. 2, способ согласно варианту 1 настоящего изобретения, содержит:
S110: коммутатор (коммутатор 110, показанный на фиг. 1-1) сообщает структуру таблицы потоков контроллеру (контроллер 120, показанный на фиг. 1-1) с использованием протокола OpenFlow, где структура таблицы потоков содержит поля признаков и действия, поддерживаемые несколькими таблицами потоков OpenFlow и указание типов этих нескольких таблиц потоков OpenFlow, здесь имеет место пересечение между полями признаков и действиями, поддерживаемыми указанными несколькими таблицами потоков OpenFlow, это пересечение содержит поле признаков и действие, используемые для осуществления первого сервиса, поддерживаемого аппаратной таблицей потоков в памяти коммутатора, а типы нескольких таблиц потоков представляют собой универсальный тип (wildcard type).
Если тип таблицы потоков представляет собой универсальный тип (wildcard type), когда происходит генерация записи потока согласно структуре таблицы потоков, контроллер может генерировать запись потока с использованием одного или нескольких полей признаков, поддерживаемых указанной таблицей потоков.
Например, таблица T0 представляет универсальный тип (wildcard type), а поддерживаемая совокупность полей признаков содержит шесть полей признаков, а именно in_port, eth_type, src_mac, dst_mac, ip_src и ip_dst; тогда запись потока, генерируемая контроллером, согласно таблице T0 может содержать только величины полей признаков, соответствующие некоторым полям признаков, например, сформированная запись потока содержит величины четырех полей признаков, а именно in_port, eth_type, src_mac и dst_mac, или может содержать величины полей признаков, соответствующие всем полям признаков, указанным в таблице T0.
В частности, после установления соединения с коммутатором, контроллер передает сообщение запроса возможностей таблицы потоков (table stats request) коммутатору; коммутатор возвращает контроллеру сообщение ответа о возможностях таблицы потоков (table stats reply) после приема сообщения запроса возможностей таблицы потоков, где это сообщение ответа о возможностях таблицы потоков содержит структуру таблицы потоков.
Эта совокупность нескольких таблиц потоков OpenFlow может, в частности, содержать таблицу T0 (Table 0), таблицу T1 (Table 1) и другие подобные таблицы. Совокупностей полей признаков может, в частности, содержать поле входного порта (in_port), поле типа Этернет (eth_type) и поле MAC-адреса источника (src_mac); совокупность действий может, в частности, содержать передачу через выходной порт (вывод (output)), модификацию MAC-адреса источника, модификацию MAC-адреса пункта назначения и другие подобные действия.
Например, первый сервис может представлять собой сервис передачи уровня 2 на основе интернет-протокола (IP); для осуществления этого сервиса передачи уровня 2 на основе IP-протокола нужны поля признаков in_port, eth_type, src_mac и dst mac (MAC-адрес пункта назначения) и действие вывода.
Стандарт для определения того, что аппаратная таблица потоков в памяти коммутатора поддерживает первый сервис, может представлять собой тот факт, что: одна или несколько аппаратных таблиц потоков в памяти коммутатора содержат указанные поле признаков и действие, требуемые для осуществления первого сервиса. Например, для осуществления первого сервиса требуются поля признаков in_port, eth_type, src_mac и dst mac и действие вывода, одна аппаратная таблица потоков в памяти коммутатора содержит поля признаков in_port и eth_type, а другая аппаратная таблица потоков содержит поля признаков src_mac и dst mac и действие вывода; тогда, тогда можно считать, что аппаратные таблицы потоков в памяти коммутатора поддерживают первый сервис. Кроме того, может быть не нужно конфигурировать некоторые действия, например, поле признаков pop_vlan (в предположении, что поле признаков pop_vlan требуется для осуществления первого сервиса), необходимые для осуществления первого сервиса, в аппаратных таблицах потоков, но эти действия поддерживаются другим аппаратным ресурсом, который находится в коммутаторе и который относится к типу неаппаратных таблиц потоков. В этом случае, в предположении, что каждое поле признаков, необходимое для осуществления первого сервиса, включено в аппаратные таблицы потоков в памяти коммутатора, и что каждое действие, которое необходимо для осуществления первого сервиса и которое нужно записать в аппаратных таблицах потоков, включено в аппаратные таблицы потоков в памяти коммутатора, можно считать, что эти аппаратные таблицы потоков в памяти коммутатора поддерживают первый сервис. В заключение, если одна или несколько аппаратных таблиц потоков в памяти коммутатора содержат поле признаков, необходимое для осуществления первого сервиса, и содержат действие, которое необходимо для осуществления первого сервиса и которое нужно записать в одну или несколько аппаратных таблиц потоков, тогда эти одна или несколько аппаратных таблиц потоков могут поддерживать первый сервис.
В рамках конкретного варианта осуществления изобретения совокупность полей признаков в составе нескольких таблиц потоков OpenFlow, сообщаемых посредством коммутатора, может содержать все поля признаков, поддерживаемые протоколом OpenFlow, и совокупность действий в составе нескольких таблиц потоков OpenFlow, сообщаемых коммутатором, может содержать все действия, поддерживаемые протоколом OpenFlow. Следует отметить, что пересечение может содержать поле признаков и действие, используемые для осуществления одного или нескольких сервисов, поддерживаемых аппаратной таблицей потоков, записанной в памяти коммутатора. Если все сообщенные несколько таблиц потоков OpenFlow содержат все поля признаков и все действия, поддерживаемые протоколом OpenFlow, иными словами, пересечение содержит все поля признаков и все действия, поддерживаемые протоколом OpenFlow, поля признаков и действия, входящие в это пересечение, могут быть использованы для осуществления насколько возможно большого числа сервисов из совокупности сервисов, поддерживаемых аппаратной таблицей потоков в памяти коммутатора.
Структура таблицы потоков может быть такой, как показано в табл. 1.
Таблица 1
Идентификатор таблицы потоков |
Тип таблицы потоков | Поле признаков | Действие |
T0 | Обобщенный тип (Wildcard type) | in_port, vid, eth_type, src_mac, dst_mac, ip_src, ip_dst, src_port, dst_port | Модификация MAC-адреса источника Модификация MAC-адреса пункта назначения Передача через порт |
T1 | Обобщенный тип (Wildcard type) | in_port, vid, eth_type, src_mac, dst_mac, ip_src, ip_dst, src_port, dst_port | Модификация MAC-адреса источника Модификация MAC-адреса пункта назначения Передача через порт |
… | … | … | … |
T9 | Обобщенный тип (Wildcard type) | in_port, vid, eth_type, src_mac, dst_mac, ip_src, ip_dst, src_port, dst_port | Модификация MAC-адреса источника Модификация MAC-адреса пункта назначения Передача через порт |
S120: коммутатор принимает запись потока, переданную контроллером с использованием протокола OpenFlow, и конфигурирует запись потока в программной таблице потоков, где эту запись потока генерирует контроллер согласно структуре таблицы потоков и информации относительно пакета данных, сообщенного коммутатором, эта информация относительно сообщенного пакета данных содержит информацию относительно первого пакета данных для первого сервиса, а запись потока содержит по меньшей мере одну из записей потока, согласованных с этим первым пакетом данных.
Следует отметить, что при выполнении этапа S110 программная таблица потоков и аппаратная таблица потоков в памяти коммутатора не содержат запись потока или содержат только запись потока по умолчанию, которая не может быть согласована с принятым пакетом данных.
На этапе S120, каждый раз, когда коммутатор принимает пакет данных, для которого невозможно найти согласованную запись потока в аппаратной таблице потоков или в программной таблице потоков, коммутатор запрашивает, от контроллера, запись потока, согласованную с этим пакетом данных, конфигурирует эту запись потока в программной таблице потоков, и конфигурирует эту запись потока в аппаратной таблице потоков согласно последующим этапам S130–S150.
В конкретном варианте осуществления этап S120 содержит выполнение одного или нескольких следующих процессов:
S120-1: коммутатор принимает один пакет данных (например, первый пакет данных).
S120-2: коммутатор сначала осуществляет поиск в аппаратной таблице потоков в памяти коммутатора для обнаружения записи потока, согласованной с этим пакетом данных.
Если такая запись потока не найдена, выполняется этап S120-3; если запись потока найдена, пакет данных обрабатывают в соответствии с величиной действия в составе найденной записи потока.
S120-3: затем коммутатор осуществляет поиск в программной таблице потоков в памяти коммутатора для обнаружения записи потока, согласованной с рассматриваемым пакетом данных.
Если запись потока не найдена, выполняют этап S120-4; если запись потока найдена, пакет данных обрабатывают согласно величине действия в найденной записи потока.
S120-4: коммутатор запрашивает от контроллера запись потока, согласованную с рассматриваемым пакетом данных.
В частности, коммутатор передает сообщение о входном пакете (Packet In) контроллеру, где это сообщение Packet In содержит информацию относительно пакета данных, например, номер порта, использованного для приема пакета данных, или в другом примере, сам этот пакет данных или информацию заголовка этого пакета данных. Когда принято сообщение Packet In, контроллер генерирует, согласно структуре таблицы потоков и информации относительно пакета данных (например, тип Этернет, MAC-адрес источника и MAC-адрес пункта назначения в составе информации заголовка полученного пакета данных или номер порта, использованного для приема этого пакета данных), запись потока, согласованную с этим пакетом данных, и передает сформированную запись потока с использованием сообщения Flow mod.
S120-5: коммутатор конфигурирует принятую им запись потока в программной таблице потоков.
Когда пакет данных, принятый на этапе S120-1, представляет собой первый пакет данных, на этапе S120-4 запрашивают запись потока, согласованную с этим первым пакетом данных; соответственно, на этапе S120-5, конфигурируют запись потока, согласованную с рассматриваемым первым пакетом данных, в программную таблицу потоков.
Здесь может быть только одна первая запись потока, либо две или более первых записей потока, согласованных с первым пакетом данных. Например, для указанного выше сервиса передачи на основе IP-протокола на уровне 2, как показано в табл. 2-1, может быть сформирована только запись T0 потока, либо, как показано в табл. 2-2A и в табл. 2-2B, могут быть формированы запись T0 потока и запись T1 потока.
Таблица 2-1
Таблица T0 | ||||
in_port | eth_type | src_mac | dst_mac | действие |
2 | 0x800 | 0:0:0:0:0:3 | 0:0:0:0:0:4 | выход:2 |
Таблица 2-2A
Таблица T0 | |
in_port | действие |
2 | переход:1 |
Таблица 2-2B
Таблица T1 | |||
eth_type | src_mac | dst_mac | действие |
0x800 | 0:0:0:0:0:3 | 0:0:0:0:0:4 | выход:2 |
Следует отметить, что, для пакета данных, если с этим пакетов данных согласованы две или более записей потока, как показано в табл. 2-2A и табл. 2-2B, есть вероятность, что часть этих записей потоков (например, запись потока, показанная в табл. 2-2A) уже была конфигурирована в программной таблице потоков. Это означает, что записи потоков, переданные контроллером, для другого ранее сообщенного пакета данных, содержат указанную часть записей потоков; тогда контроллер может не передавать повторно ту часть записей потоков, которая уже была конфигурирована в коммутаторе. Поэтому случай, когда запись потока содержит по меньшей мере одну из записей потоков, согласованных с первым пакетом данных на этапе S120, охватывает следующие ситуации: когда есть одна запись потока, согласованная с первым пакетом данных, эта одна запись потока включена в состав записи потока, переданной контроллером коммутатору; когда есть две или более записей потоков, согласованных с первым пакетом данных, если есть часть этих двух или более записей потоков, согласованных с первым пакетом данных, которая уже была передана контроллером коммутатору ранее, контроллер может передать только другую запись потока из этих двух или более записей потоков.
В одном из примеров, в котором генерируют записи потоков из таблицы T0 и таблицы T1 для сервиса передачи на основе IP-протокола на уровне 2, пример программной таблицы потоков, конфигурированной после того, как несколько пакетов данных для сервиса передачи на основе IP-протокола на уровне 2 были сообщены контроллеру на этапе S120, показан в табл. 3-1 и табл. 3-2.
Таблица 3-1
Таблица T0 | |
In_port | действие |
3 | переход:1 |
2 | переход:1 |
Таблица 3-2
Таблица T1 | |||
eth_type | src_mac | dst_mac | действие |
* | 0:0:0:0:0:5 | * | выход:3 |
0x800 | 0:0:0:0:0:3 | 0:0:0:0:0:4 | выход:2 |
0x800 | 0:0:0:0:0:5 | 0:0:0:0:0:6 | выход:4 |
Все несколько таблиц потоков OpenFlow, сообщенных на этапе S110, могут быть использованы для осуществления первого сервиса; поэтому, на этапе S120, согласно логической схеме обработки данных в контроллере, независимо от того, к какой таблице потоков или к каким таблицам потоков относится запись потока, сформированная для первого сервиса, можно с успехом генерировать эту запись потока.
Следует отметить, что в рассматриваемом варианте настоящего изобретения под аппаратной таблицей потоков понимают таблицу потоков в аппаратной форме, и что это может быть, в частности, таблица потоков в кристалле интегральной схемы аппаратного передатчика в составе коммутатора, например, список ACL. Под программной таблицей потоков в рассматриваемом варианте настоящего изобретения понимают таблицу потоков OpenFlow в программной форме, которая может, в частности, представлять собой таблицу потоков OpenFlow, сохраняемую в памяти коммутатора. Аналогично, если для осуществления связи применяется какой-нибудь собственный протокол или другой стандартный протокол, программная таблица потоков представляет собой таблицу потоков, совместимую с соответствующим протоколом.
S130: коммутатор получает, из программной таблицы потоков, первую запись потока, согласованную с первым пакетом данных, обрабатывает этот первый пакет данных согласно величине действия в составе полученной первой записи потока определяет, в составе предварительно конфигурированного пути сервиса, первый целевой путь сервиса, согласованного с первой записью потока.
Далее описан конкретный способ осуществления со ссылками на конкретный пример.
Например, коммутатор принимает первый пакет данных через порт 2, а в поле заголовка этого первого пакета данных указано следующее: тип Этернет 0x800, MAC-адрес источника – 0:0:0:0:0:3, MAC-адрес пункта назначения – 0:0:0:0:0:4, IP-адрес источника – 192.168.0.1, IP-адрес пункта назначения – 192.168.0.2, номер порта источника – 6633 и номер порта пункта назначения – 6589.
Сначала коммутатор находит запись потока, согласованную с первым пакетом данных, в таблице T0. Поскольку пакет данных принят от порта 2, согласована вторая запись потока в таблице T0; далее, находят запись потока, согласованную с первым пакетом данных, в таблице T1 согласно величине действия «переход:1» ("goto:1") из состава второй записи потока в таблице T0.
Поскольку параметр «тип Этернет» (eth type) для первого пакета данных равен 0x800, MAC-адрес источника равен 0:0:0:0:0:3 и MAC-адрес пункта назначения равен 0:0:0:0:0:4, вторая запись потока в таблице T1 является согласованной; этот пакет данных передают дальше через порт 3 в соответствии с величиной действия «вывод:3» ("output:3") в составе второй записи потока в таблице T1.
В описанном выше варианте осуществления найденная первая запись потока, согласованная с первым пакетом данных для первого сервиса, содержит вторую запись потока из таблицы и T0 и вторую запись потока из таблицы T1.
После получения записи потока, согласованной с первым пакетом данных, коммутатор определяет, в составе предварительно конфигурированного пути сервиса, первый целевой путь сервиса, согласованный с первой записью потока.
Каждый предварительно конфигурированный путь сервиса содержит поле признаков и действие, необходимые для осуществления сервиса, соответствующего каждому из путей сервиса.
Примеры путей сервисов приведены в табл. 4.
Таблица 4
Идентификатор пути сервиса | Поддерживаемый сервис | Поддерживаемое поле признаков | Поддерживаемое действие |
L2_L2_MAC | Сервис A | Dmac, vid | Output, push_vlan, pop_vlan |
L2_T3S_IPV4 | Сервис B и сервис D | Sip, dip, eth_type, ip_proto, ip_dscp | Output, push_vlan, pop_vlan, set_queue, meter, group |
L3_T3R_IPV4 | Сервис C | Sip, dip, eth_type, ip_proto, ip_dscp, vid, dmac | Output, push_vlan, pop_vlan, set_queue, meter, group, set_src_eth, set_dst_mac, push_mpls |
L2_L1T4S_IPv4IPv6 | Сервис передачи на основе IP-протокола на уровне 2 | Dmac, smac, vid, pcp, in_port, eth_type | output, push_vlan, pop_vlan, set_queue |
Коммутатор определяет, в совокупности путей сервисов, первый целевой путь сервиса, согласованного с первой записью потока, где совокупность полей признаков в составе найденного первого целевого пути сервиса содержит поле признаков входного порта (ingress port) и поле признаков заголовков пакетов (packet headers) в группе полей признаков, соответствующих величинам полей признаков в составе первой записи потока, а действие из состава первого целевого пути сервиса представляет собой действие, соответствующее величине действия, которое входит в группу величин действия из состава первой записи потока и которое используется для обработки первого пакета данных. Указанное поле признаков входного порта используется для согласования номера порта (иными словами, номера порта, через который коммутатор должен принять пакет данных), через который принимаемый пакет данных должен войти в коммутатор; поле признаков заголовка пакета используется для согласования поля в заголовке принимаемого пакета данных.
Как в приведенном выше примере, имеются две первых записи потоков, а поля признаков, соответствующие входящим сюда величинам полей признаков, представляют собой in_port, eth_type, src_mac и dst mac, где in_port представляет собой поле признаков входного порта, величины полей признаков, соответствующие полям eth_type, src_mac и dst mac, используются для согласования с полем в заголовке первого пакета данных и являются полями признаков заголовка пакета. Сюда входят величины действий «выход:1» (goto:1) и «вывод:3» (output:3), где величина «вывод:1» используется для индикации, в какой следующей таблице нужно далее осуществить поиск, а величина «вывод:3» используется для индикации, что первый пакет данных должен быть передан далее через порт 3. Как можно видеть, только «вывод:3» представляет собой величину действия, используемую для обработки первого пакета данных.
Следует отметить, что первая запись потока может не содержать величин поля признаков для входного поля; соответственно, поля признаков в составе первого целевого пути сервиса могут, естественно, не содержать поле признаков входного порта.
Следует далее отметить, что когда сервис осуществляется с использованием записей потоков из состава нескольких таблиц потоков, согласованная запись потока может далее содержать величину метаданных поля признаков и метаданные действия, используемого для генерации данных для согласования с величиной поля признаков метаданных. Как показано в табл. 5-1 и в табл. 5-2, поле признаков метаданных содержит маркер «meta», величина метаданных поля признаков равна 0x2, а действие, используемое для генерации данных для согласования с величиной метаданных поля признаков обозначено w_meta:0x2.
Величина метаданных поля признаков не используется для согласования информации заголовка пакета данных, а также она эквивалентна полю признаков входного порта и полю признаков заголовка пакета. Иными словами, поле признаков метаданных не принадлежит полю признаков входного порта или полю признаков заголовка пакета. Метаданные действия не используются для обработки пакета данных, иными словами, не являются действием, соответствующим величине действия, используемого для обработки пакета данных.
Таблица 5-1
Таблица T0 | |
in_port | действие |
2 | w_meta:0x2 goto:1 |
Таблица 5-2
Таблица T1 | ||||
eth_type | meta | src_mac | dst_mac | action |
0x800 | 0x2 | 0:0:0:0:0:3 | 0:0:0:0:0:4 | output:2 |
Коммутатор осуществляет поиск в каждой сервисной таблице потоков для обнаружения пути сервиса, в составе которого совокупность полей признаков содержит поля in_port, eth_type, src_mac и dst mac и в составе которого действие содержит «вывод» (output), в качестве первого целевого пути сервиса. Как показано в табл. 4, совокупность полей признаков в составе пути L2_L1T4S_IPv4IPv6 Path содержит in_port, eth_type, src_mac и dst mac, а действие в составе пути L2_L1T4S_IPv4IPv6 Path содержит «вывод» (output); поэтому, путь L2_L1T4S_IPv4IPv6 Path определен в качестве первого целевого пути сервиса.
Следует отметить, что может быть только одна первая запись потока, или могут быть две или более первых записей потоков.
Когда имеется только одна первая запись потока, каждое поле признаков, соответствующее величине поля признаков, входящей в состав первой записи потока, принадлежит полю признаков входного порта или полю признаков заголовка пакета, а каждое включенное сюда действие принадлежит действию, используемому для обработки первого пакета данных. Соответственно, путь сервиса, в составе которого совокупность полей признаков содержит поле признаков, соответствующее величине поля признаков в составе первой записи потока, и в составе которого действие содержит действие, соответствующее величине действия из состава первой записи потока, может быть прямо определен, в составе предварительно конфигурированного пути сервиса, в качестве первого целевого пути сервиса.
Когда имеются две или более первых записей потоков, коммутатор может определить первый целевой путь сервиса согласно следующему способу после того, как найдены первые записи потоков, с целью повышения эффективности такого определения.
A1: Коммутатор агрегирует эти первые записи потоков для генерации комбинированной записи потока, где величины полей признаков, входящие в комбинированную запись потока, представляют собой величины полей признаков, которые входят в совокупность величин полей признаков из состава первых записей потоков и соответствуют полю признаков входного порта и полю признаков заголовка пакета, величины действий, входящие в состав комбинированной записи потока, представляют собой величины действий, которые входят в совокупность величин действий из состава первых записей потоков и используются для обработки первого пакета данных.
A2: коммутатор может определить, в составе предварительно конфигурированного пути сервиса, один путь сервиса, в котором поля признаков содержат поля признаков, соответствующие величинам полей признаков из состава комбинированной записи потока, и в котором действия, содержат действия, соответствующие величинам действий из состава комбинированной записи потока, в качестве первого целевого пути сервиса.
S140: коммутатор определяет, согласно предварительно конфигурированному соответствию между первым целевым путем сервиса и аппаратной таблицей потоков, такую первую аппаратную таблицу потоков, соответствующую первому целевому пути сервиса, где эта аппаратная таблица потоков, соответствующая первому целевому пути сервиса, поддерживает сервис, поддерживаемый посредством первого целевого пути сервиса.
В частности, коммутатор предварительно конфигурирует соответствие между путями сервисов и аппаратными таблицами потоков, и аппаратная таблица потоков, соответствующая каждому пути сервиса, поддерживает сервис, поддерживаемый каждым путем сервиса. Например, каждый путь сервиса содержит поле признаков и действие, которое требуется для осуществления сервиса, поддерживаемого посредством соответствующего пути сервиса. Как показано в табл. 6, путь L2_L1T4S_IPv4IPv6 сервиса соответствует аппаратным таблицам ACL 3 и ACL 5 потоков, где эти таблицы ACL 3 и ACL 5 содержат поля признаков и действия, необходимые для осуществления сервиса передачи на уровне 2, который основан на IP-адресе и который поддерживается посредством пути L2_L1T4S_IPv4IPv6.
Таблица 6
Идентификатор пути сервиса | Аппаратная таблица потоков |
L2_L2_MAC | ACL 1 |
L2_T3S_IPV4 | ACL 4 |
L3_T3R_IPV4 | ACL 4 |
L2_L1T4S_IPv4IPv6 | ACL 3 и ACL 5 |
Путь L2_L1T4S_IPv4IPv6 Path представляет собой путь целевого сервиса, найденный на этапе S130; согласно табл. 6, может быть определено, что аппаратными таблицами потоков, соответствующими целевого пути сервиса, являются списки ACL 3 и ACL 5.
Следует отметить, что коммутатор может прямо конфигурировать соответствие между путями сервисов и соответствующими аппаратными таблицами потоков; или может конфигурировать соответствие между путями сервисов и другой информацией и соответствие между этой другой информацией и аппаратными таблицами потоков, тем самым непрямо конфигурируя соответствие между путями сервисов и соответствующими аппаратными таблицами потоков.
Для того чтобы более удобно конфигурировать путь сервиса, соответствие между путями сервисов и аппаратными таблицами потоков может быть конфигурировано следующим образом:
B1: конфигурирование нескольких физических таблиц потоков и соответствия между этими физическими таблицами потоков и аппаратными таблицами потоков, где эти несколько физических таблиц потоков по отдельности содержат поддерживаемые поля признаков и действия, поля признаков из каждой физической таблицы потоков входят в состав совокупности полей признаков соответствующей аппаратной таблицы потоков, а действие, которое является действием из состава каждой физической таблицы потоков и которое должно быть записано в рассматриваемую аппаратную таблицу потоков, включено в совокупность действий соответствующей аппаратной таблицы потоков.
B2: конфигурирование соответствия между путями сервисов и физическими таблицами потоков, где поле признаков каждого из путей сервисов включают в состав совокупности полей признаков всех соответствующих физических таблиц потоков и действие из каждого пути сервиса включают в состав совокупности действий из всех соответствующих физических таблиц потоков.
Согласно конкретному варианту осуществления, совокупность полей признаков для каждого пути сервиса может представлять собой универсальный набор полей признаков из всех соответствующих физических таблиц потоков, а совокупность действий в составе каждого пути сервиса может представлять собой универсальный набор действий для всех соответствующих физических таблиц потоков.
При применении этого способа каждая физическая таблица потоков может быть использована различными путями сервисов; поэтому, после того, как несколько физических таблиц потоков и соответствие между физическими таблицами потоков и аппаратными таблицами потоков были конфигурированы на этапе B1, пути сервисов для осуществления разнообразных сервисов могут быть удобно конфигурированы на этапе B2.
Например, предварительно конфигурированная физическая таблица L1 потоков содержит поля признаков eth_src и eth_dst; предварительно конфигурированная физическая таблица T4S потоков содержит поля признаков ip_src и ip_dst и содержит действие вывода. Для осуществления сервиса X нужны поля признаков eth_src, eth_dst, ip_src и ip_dst, и действие вывода. Путь Y сервиса для осуществления сервиса X может быть сформирован согласно физическим таблицам L1 и T4S потоков, а также могут быть конфигурированы соответствие между путем Y сервиса и физической таблицей L1 потоков и соответствие между путем Y сервиса и физической таблицей T4S потоков.
Соответственно, на этапе S160, коммутатор определяет, согласно предварительно конфигурированному соответствию между первым целевым путем сервиса и физической таблицей потоков, первую физическую таблицу потоков, соответствующую первому целевому пути сервиса, и определяет, согласно соответствию между первой физической таблицей потоков и аппаратной таблицей потоков, аппаратную таблицу потоков, соответствующую первой физической таблице потоков.
S150: Коммутатор конфигурирует запись потока в аппаратной таблице потоков согласно первой записи потока.
Конкретное осуществление этапа S150 может содержать:
C1: добавление новой записи потока к аппаратной таблице потоков.
C2: конфигурирование величин полей признаков, входящих в совокупность величин полей признаков из состава первой записи потока и соответствующих полю признаков входного порта и полю признаков заголовка пакета, в качестве величин полей признаков в составе добавленной записи потока.
C3: конфигурирование величины действия, отличного от первой величины действия в качестве величины действия в добавленной записи потока, где каждая из величины действия и первой величины действия входят в группу величин действия из состава первой записи потока и в группу величин действия, используемых для обработки первого пакета данных, а первая величина действия представляет собой величину действия, которая не входит в аппаратную таблицу потоков и которая соответствует действию, поддерживаемому аппаратными ресурсами из таблицы потоков неаппаратного типа, в коммутаторе, в памяти которого располагается аппаратная таблица потоков.
Следует отметить, что первая запись потока может не иметь в составе первой величины действия.
Если способы согласно A1 и A2 используются для определения целевого пути сервиса на этапе S130, на этом этапе величина поля признаков в составе комбинированной записи потока может быть прямо конфигурирована в виде величины поля признаков в добавленной записи потока, а другая величина действия, отличная от указанной первой величины действия в совокупности величин действия из состава комбинированной записи потока, конфигурирована в виде величины действия в составе добавленной записи потока.
Как показано в табл. 7-1, коммутатор конфигурирует величины полей признаков для полей признаков in_port, eth_type, src_mac и dst mac в составе первой записи потока в списке ACL 5; как показано в табл. 7-2, величина действия «вывод:3» (output:3) для первой записи потока конфигурирована в составе списке ACL 3.
Таблица 7-1
in_port | vid | eth_type | src_mac | dst_mac | действие |
2 | 1 | 0x800 | 0:0:0:0:0:3 | 0:0:0:0:0:4 | cond: 1 |
Таблица 7-2
src_ip | dst_ip | ip_proto | ip_dscp | fhid | действие |
192.168.0.1 | 192.168.0.2 | 6 | 0 | 1 | вывод:3 |
Если аппаратная таблица потоков содержит больше полей признаков, чем число полей признаков, соответствующих величинам полей признаков в составе первой записи потока, другая величина поля признаков в составе записи потока может быть конфигурирована в виде соответствующей информации в поле заголовка пакета данных согласно конкретному варианту осуществления, например, первая запись потока не содержит IP-адрес источника, и тогда выделяют этот IP-адрес источника из пакета данных, и используют этот выделенный IP-адрес источника в качестве величины, соответствующей полю признаков src_ip (IP-адрес источника) в составе записи потока; или другая величина поля признаков в составе записи потока может быть конфигурирована в виде величины универсального (wildcard) типа.
Согласно варианту 1 настоящего изобретения все несколько таблиц потоков OpenFlow могут быть использованы для осуществления первого сервиса; поэтому, согласно логической схеме обработки данных в контроллере, независимо от того, какой таблице потоков или каким таблицам потоков соответствует запись потока, генерируемая для первого сервиса, эта запись потока может быть успешно сформирована и передана. Кроме того, первый целевой путь сервиса, найденный посредством коммутатора, содержит поле признаков и действие, соответствующие величине поля признаков и величине действия относительно пакета данных для первого сервиса; поэтому указанный первый целевой путь сервиса поддерживает первый сервис. Более того, поскольку аппаратная таблица потоков, соответствующая первому целевому пути сервиса, поддерживает сервис, поддерживаемый первым целевым путем сервиса, аппаратная таблица потоков, соответствующая первому целевому пути сервиса, представляет собой аппаратную таблицу потоков, поддерживающую первый сервис. Далее, коммутатор может конфигурировать, в аппаратной таблице потоков, запись потока, используемую для осуществления первого сервиса. Поэтому, независимо от того, с каким контроллером соединен коммутатор, этот коммутатор может с успехом конфигурировать, в аппаратной таблице потоков, запись потока, используемую для осуществления первого сервиса с целью успешно произвести обработку первого сервиса, уменьшая тем самым вероятность неудачи в обработке сервиса.
В некоторых случаях совокупность величин действия в составе первой записи потока далее содержит величину действия, которая не входит в состав аппаратной таблицы потоков и которая соответствует действию, поддерживаемому аппаратным ресурсов из таблицы потоков неаппаратного типа, в коммутаторе, в памяти которого располагается аппаратная таблица потоков, например, величине действия (например, pop_vlan и push_vlan), используемой для конфигурирования атрибута в порте коммутатора. Соответственно, коммутатор может далее конфигурировать, согласно величине действия, которая входит в состав первой записи потока и которая используется для конфигурирования атрибута в порте коммутатора, атрибут в порте, заданном величиной действия «вывод» в составе первой записи потока (например, для сервиса pop_vlan, атрибуту VLAN 1024 в этом порте присваивают значение «отмена пометки» (untagging)).
В варианте 1 настоящего изобретения, как показано на фиг. 1-2, коммутатор (коммутатор 110, представленный на фиг. 1-2) может содержать устройство связи на верхнем уровне (устройство 110-1 связи, показанное на фиг. 1-2) и кристалл интегральной схемы аппаратного передатчика на нижнем уровне (кристалл интегральной схемы аппаратного передатчика 110-2, представленный на фиг. 1-2).
Этапы S110, S130 и 140 выполняет устройство связи.
На этапе S120 пакет данных, принимаемый коммутатором, принимают через порт кристалла интегральной схемы аппаратного передатчика, после чего этот кристалл интегральной схемы аппаратного передатчика выполняет действие поиска в аппаратной таблице потоков. Когда в этой аппаратной таблице потоков не найдена запись потока, согласованная с принятым пакетом данных, кристалл интегральной схемы аппаратного передатчика пересылает принятый им пакет данных устройству связи. В частности, кристалл интегральной схемы аппаратного передатчика может передать принятый им пакет данных по каналу сетевого адаптера между этим кристаллом интегральной схемы аппаратного передатчика и устройством связи. На этапе S120, устройство связи выполняет другие действия, отличные от действия поиска в аппаратной таблице потоков.
Конкретный вариант осуществления этапа S150 может содержать следующие операции: устройство связи конфигурирует запись потока в аппаратной таблице потоков в кристалле интегральной схеме аппаратного передатчика согласно первой записи потока, что может, в частности, содержать: конфигурирование записи потока путем вызова интерфейса кристалла интегральной схемы аппаратного передатчика и использования его для осуществления конфигурирования аппаратной таблицы потоков, где эту информацию, конфигурированную в аппаратной таблице потоков, используют в качестве параметра интерфейса и передают кристаллу интегральной схемы аппаратного передатчика, чтобы конфигурировать в аппаратной таблице потоков.
В конкретном варианте осуществления путь сервиса, предварительно конфигурированный посредством устройства связи, используется только для осуществления сервиса, поддерживаемого аппаратной таблицей потоков в памяти кристалла интегральной схемы аппаратного передатчика, соединенного с устройством связи; затем соответствующая аппаратная таблица потоков может быть четко определена на этапе S140 для целевого пути сервиса, согласованного на этапе S130 посредством устройства связи. При использовании такого способа осуществления, когда устройство связи применяется для соединения с разными кристаллами интегральных схем аппаратных передатчиков, соответствующие пути сервиса и соответствие между путями сервисов и аппаратными таблицами потоков необходимо конфигурировать согласно сервисам, поддерживаемым аппаратными таблицами потоков в памяти разных кристаллов интегральных схем аппаратных передатчиков.
В другом конкретном способе осуществления путь сервиса, предварительно конфигурированный посредством устройства связи, может быть использован для осуществления сервисов, поддерживаемых аппаратными таблицами потоков, записанными в памяти нескольких разных кристаллов интегральных схем аппаратных передатчиков. При использовании этого способа осуществления, когда устройство связи используется для соединения с разными кристаллами интегральных схем аппаратных передатчиков, такое соединение между устройством связи и разными кристаллами интегральных схем аппаратных передатчиков может быть осуществлено более удобным способом в предположение, что соответствие между путями сервисов и аппаратными таблицами потоков конфигурировано согласно сервисам, поддерживаемым аппаратными таблицами потоков, записанными в памяти разных кристаллов интегральных схем аппаратных передатчиков.
В варианте 1 настоящего изобретения пересечение на этапе S110 может далее содержать поле признаков и действие, используемые для осуществления второго сервиса, не поддерживаемого аппаратной таблицей потоков в памяти коммутатора, информация относительно пакета данных, сообщенного на этапе S120, может далее содержать информацию относительно второго пакета данных для второго сервиса, а запись потока, переданная контроллером на этапе S120, может далее содержать по меньшей мере одну из записей потоков, согласованных со вторым пакетом данных.
Соответственно, способ может дополнительно содержать: получение, посредством коммутатора из программной таблицы потоков, второй записи потока, согласованной со вторым пакетом данных, и обработку этого второго пакета данных согласно действию из состава второй записи потока. При использовании такого способа, хотя аппаратная таблица потоков в памяти коммутатора не поддерживает второй сервис, коммутатор может обрабатывать пакет данных для второго сервиса с применением поиска в программной таблице потоков.
После получения второй записи потока, способ может далее содержать: определение, посредством коммутатора, в составе предварительно конфигурированного пути сервиса, второго целевого пути сервиса, согласованного со второй записью потока, где совокупность полей признаков в составе найденного второго целевого пути сервиса содержит поле признаков входного порта и поле признаков заголовка пакета из группы полей признаков, соответствующей величинам полей признаков из состава второй записи потока, а действие из состава второго целевого пути сервиса представляет собой действие, соответствующее величине действия, входящей в группу величин действия в составе второй записи потока и используемой для обработки второго пакета данных.
Применительно к изложенному выше второму конкретному варианту способа осуществления изобретения, поскольку второй пакет данных соответствует второму сервису, а аппаратная таблиц потоков в памяти коммутатора не поддерживает этот второй сервис, второй целевой путь сервиса не имеет соответствующей ему аппаратной таблицы потоков. Поэтому соответствие между путем второго целевого сервиса и аппаратной таблицей потоков конфигурировано быть не может. Соответственно, в этом случае аппаратная таблица потоков, соответствующая второму целевому пути сервиса, не может быть найдена.
В таком случае, для повышения эффективности обработки пакета данных, соответствующего второму сервису, далее, в варианте 1 настоящего изобретения, способ может далее содержать:
D1: коммутатор конфигурирует, согласно второй записи потока, сервисную запись потока в сервисной таблице потоков, соответствующей второму целевому пути сервиса, где эта сервисная таблица потоков представляет собой таблицу точного совпадения, а поля признаков в этой сервисной таблице потоков все являются полями признаков из состава второго целевого пути сервиса; конфигурирует первую величину поля признаков в составе сервисной записи потока в качестве соответствующей величины поля признаков в составе первой записи потока; конфигурирует вторую величину поля признаков в составе сервисной записи потока в виде соответствующей величины поля заголовка в составе заголовка второго пакета данных; и конфигурирует величину действия в составе сервисной записи потока в виде величины действия в составе второй записи потока, где поле признаков, соответствующее первой величине поля признаков, принадлежит полю признаков, соответствующему величине поля признаков в составе первой записи потока, а поле признаков, соответствующее второй величине поля признаков, не принадлежит к полю признаков, соответствующему величине поля признаков в составе второй записи потока.
D2: коммутатор осуществляет поиск, когда позднее принят последующий пакет данных для второго сервиса, в сервисной таблице потоков для обнаружения сервисной записи потока, согласованной с указанным последующим пакетом данных, и обрабатывает этот последующий пакет данных согласно действию из состава найденной сервисной записи потока.
Тот факт, что сервисная таблица потоков представляет собой таблицу точного совпадения, означает: каждое поле признаков в составе сервисной записи потока из состава сервисной таблице потоков имеет соответствующую величину поля признаков, а не универсальный (wildcard) тип, так что количества величин полей признаков, входящих в состав записей потоков в сервисной таблице потоков являются одинаковыми. Поэтому, поиск в таблице можно осуществлять с использованием алгоритма хеширования с целью повысить эффективность поиска в таблице.
Конкретный способ осуществления изобретения может быть следующим: коммутатор выполняет этап S120-2 (пакет данных на этапе S120-2 представляет собой, в частности, последующий пакет данных) после приема указанного последующего пакета данных; если никакая запись потока не найдена, выполняют поиск в сервисной таблице потоков для обнаружения записи потока, согласованной с этим последующим пакетом данных; если никакая запись потока не найдена, выполняют этап S120-3; если запись потока найдена, обрабатывают последующий пакет данных согласно величине действия в составе найденной записи потока. Кроме того, когда коммутатор примет какой-либо пакет данных для другого сервиса, этот пакет данных может быть также обработан согласно этому конкретному варианту способа осуществления изобретения.
Кроме того, если каждая запись потока, переданная контроллером согласно каждому пакету данных, содержит все записи потоков, согласованные с указанным пакетом данных, коммутатор может также определить, в составе предварительно конфигурированного пути сервиса, путем прямого использования всех принятых записей потоков, согласованных с пакетом данных, путь сервиса, согласованный с этим пакетом данных. Предложены следующие два конкретных способа осуществления настоящего изобретения:
Конкретный вариант 1 способа осуществления настоящего изобретения: Сообщение (например, сообщение Flow mod), которое содержит запись потока и которое передано контроллером коммутатору, далее содержит идентификационную информацию, где эта идентификационная информация используется для идентификации всех записей потоков, соответствующих одному и тому же пакету данных, и может, в частности, представлять собой идентификатор пакета данных, соответствующего переданной записи потока. Соответственно, коммутатор идентифицирует в совокупности записей потоков, принятых от контроллера, согласно этой идентификационной информации все записи потоков, соответствующие одному и тому же пакету данных, например, идентифицирует все записи потоков, соответствующие пакету A данных, и идентифицирует все записи потоков, соответствующие пакету B данных; и определяет путь сервиса, согласованный с указанным потоком данных.
Конкретный вариант 2 способа осуществления настоящего изобретения: Контроллер добавляет, к различным сообщениям, все записи потоков, согласованные с разными пакетами данных, например, добавляет к сообщению Flow mod 1, все записи потоков, согласованные с пакетом A данных, и добавляет к сообщению Flow mod 2, все записи потоков, согласованные с пакетом B данных. Соответственно, коммутатор получает, из сообщения, все записи потоков, соответствующие пакету данных, и определяет, в составе предварительно конфигурированного пути сервиса, путь сервиса, согласованный с принятым пакетом данных.
Относительно способа определения согласованного пути сервиса путем прямого использовании принятой записи потока ссылки сделаны на способ определения согласованного первого целевого пути сервиса с использованием первой записи потока на описанном выше этапе 130; для способа определения соответствующей аппаратной таблицы потоков и конфигурирования записи в аппаратной таблице потоков после того, как будет определен согласованный путь сервиса, ссылки сделаны на описанные выше этапы 140 – 150, которые здесь повторно рассмотрены не будут.
Как показано на фиг. 3-1, Вариант 2 настоящего изобретения предлагает устройство 200 связи. Это устройство 200 связи соединено с кристаллом интегральной схемы аппаратного передатчика, осуществляющего связь с контроллером с использованием протокола OpenFlow OpenFlow, и содержит интерфейсный модуль 201, модуль 202 конфигурирования программной таблицы потоков, модуль 203 обработки пакетов данных и модуль 204 конфигурирования аппаратной таблицы потоков.
Интерфейсный модуль 201 конфигурирован для сообщения структуры таблицы потоков контроллеру, где эта структура таблицы потоков содержит поля признаков и действия, поддерживаемые несколькими таблицами потоков OpenFlow, и типы этих нескольких таблиц потоков OpenFlow, здесь имеет место пересечение между полями признаков и действиями, поддерживаемыми несколькими таблицами потоков OpenFlow, это пересечение содержит поле признаков и действие, используемые для осуществления первого сервиса, поддерживаемого аппаратной таблицей потоков в памяти кристалла интегральной схемы аппаратного передатчика, а типы нескольких таблиц потоков все представляют собой универсальный тип (wildcard type); и далее модуль конфигурирован для сообщения информации относительно пакета данных контроллеру и для приема записи потока, переданной контроллером, где эту запись потока генерирует контроллер согласно структуре таблиц потоков и информации относительно пакета данных, где эта информация относительно пакета данных содержит информацию относительно первого пакета данных для первого сервиса, а запись потока содержит по меньшей мере одну запись потока, согласованную с первым пакетом данных.
В совокупности полей признаков в составе нескольких таблиц потоков OpenFlow все поля признаков могут представлять собой поля признаков, поддерживаемые протоколом OpenFlow, а в совокупности действий в составе этих нескольких таблиц потоков OpenFlow все действия могут быть действиями, поддерживаемыми протоколом OpenFlow.
Модуль 202 конфигурирования программной таблицы потоков конфигурирован для того, чтобы конфигурировать запись потока в программной таблице потоков.
Указанный модуль обработки пакетов данных конфигурирован для получения, из программной таблицы потоков, первой записи потока, согласованной с первым пакетом данных, обработки этого первого пакета данных согласно величине действия из состава первой записи потока, и определения, в составе предварительно конфигурированного пути сервиса, первого целевого пути сервиса, согласованного с первой записью потока, где совокупность полей признаков в составе найденного первого целевого пути сервиса содержит поле признаков входного порта и поле признаков заголовка пакета из группы полей признаков, соответствующих величинам полей признаков в составе первой записи потока, действие в составе первого целевого пути сервиса, представляет собой действие, которое соответствует одной из величин действия из группы величин действия в составе первой записи потока и которое используется для обработки первого пакета данных; а также этот модуль обработки пакетов данных конфигурирован для определения, согласно предварительно конфигурированному соответствию между первым целевым путем сервиса и первой аппаратной таблицей потоков, такой первой аппаратной таблицы потоков, соответствующей первому целевому пути сервиса, где эта первая аппаратная таблица потоков, соответствующая первого целевого пути сервиса, поддерживает сервис, поддерживаемый первым целевым путем сервиса. Следует отметить, что кристалл интегральной схемы аппаратного передатчика в общем случае сообщает первый пакет данных, обработанный посредством модуля 203 обработки пакетов данных, первому модулю обработки пакетов данных. В частности, после приема первого пакета данных этот кристалл интегральной схемы аппаратного передатчика осуществляет поиск в аппаратной таблице потоков для обнаружения первой записи потока, согласованный с первым пакетом данных, и сообщает этот первый пакет данных в модуль 203 обработки пакетов данных в составе устройства связи, если такая запись потока не найдена.
Здесь может быть только одна первая запись потока, или могут иметься две или более первых записей потоков. Соответственно, то, что модуль 203 обработки пакетов данных конфигурирован для определения, в составе предварительно конфигурированного пути сервиса, целевого пути сервиса, согласованного с первой записью потока, в частности, содержит: модуль 203 обработки пакетов данных конфигурирован для того, чтобы: когда имеются две или более первых записей потоков, агрегировать эти первые записи потоков для генерации комбинированной записи потока, где величины полей признаков, входящие в комбинированную запись потока, представляют собой величины полей признаков, которые входят в совокупность величин полей признаков из состава первых записей потоков и соответствуют полю признаков входного порта и полю признаков заголовка пакета, а величины действий, входящие в состав комбинированной записи потока, представляют собой величины действий, которые входят в совокупность величин действий из состава первых записей потоков и используются для обработки первого пакета данных; и определить, в составе предварительно конфигурированного пути сервиса, один путь сервиса, в котором поля признаков содержат поля признаков, соответствующие величинам полей признаков из состава комбинированной записи потока, и в котором действия, содержат действия, соответствующие величинам действий из состава комбинированной записи потока, в качестве первого целевого пути сервиса; и модуль 203 обработки пакетов данных конфигурирован для того, чтобы: когда имеется только одна первая запись потока, определить, в составе предварительно конфигурированного пути сервиса, один путь сервиса, в котором поле признаков представляет собой поле признаков, соответствующее величине поля признаков из состава первой целевой записи потока, и в котором действие представляет собой действие, соответствующее величине действия в составе первой целевой записи потока, в качестве первого целевого пути сервиса.
Модуль конфигурирования аппаратной таблицы потоков конфигурирован для того, чтобы конфигурировать запись потока в составе первой аппаратной таблицы потоков согласно этой первой записи потока.
Кроме того, пересечение может далее содержать поле признаков и действие, используемые для осуществления второго сервиса, не поддерживаемого аппаратной таблицей потоков в памяти кристалла интегральной схемы аппаратного передатчика; здесь информация относительно пакета данных далее содержит информацию относительно второго пакета данных для второго сервиса. Запись потока, принимаемая интерфейсным модулем 201 от контроллера, далее содержит по меньшей мере одну из записей потоков, согласованных со вторым пакетом данных; соответственно, модуль 203 обработки пакетов данных может быть далее конфигурирован для обработки второго пакета данных согласно действию из состава второй записи потока, когда из программной таблицы потоков, получена вторая запись потока, согласованная с вторым пакетом данных.
Согласно конкретному способу осуществления изобретения, как показано на фиг. 3-2, устройство связи может дополнительно содержать модуль 205 конфигурирования сервисной таблицы потоков.
В этом конкретном варианте способа осуществления изобретения модуль 203 обработки пакетов данных дополнительно конфигурирован для того, чтобы определить, в составе предварительно конфигурированного пути сервиса, второй целевой путь сервиса, согласованный со второй записью потока, где совокупность полей признаков из состава найденного второго целевого пути сервиса содержит поле признаков входного порта и поле признаков заголовка пакета из группы полей признаков, соответствующих величинам полей признаков из состава второй записи потока, и действие в составе второго целевого пути сервиса представляет собой действие, которое соответствует величине действия из группы величин действия в составе второй записи потока и которое используется для обработки второго пакета данных.
Модуль 205 конфигурирования сервисной таблицы потоков конфигурирован для того, чтобы: конфигурировать, согласно второй записи потока, сервисную запись потока из состава сервисной таблицы потоков, соответствующей второму целевому пути сервиса, где эта сервисная таблица потоков представляет собой таблицу точного совпадения, а поля признаков в этой сервисной таблице потоков все являются полями признаков в составе второго целевого пути сервиса; конфигурировать величину первого поля признаков в составе сервисной записи потока в виде соответствующей величины поля признаков из состава первой целевой записи потока; конфигурировать величину второго поля признаков в составе сервисной записи потока в виде соответствующей величины поля заголовка в заголовке пакета в составе второго пакета данных; и конфигурировать величину действия в составе сервисной записи потока в виде величины действия из состава второй записи потока, где поле признаков, соответствующее величине первого поля признаков, принадлежит к полю признаков, соответствующему величине поля признаков в составе первой целевой записи потока, а поле признаков, соответствующее величине второго поля признаков, не принадлежит к полю признаков, соответствующему величине поля признаков в составе второй записи потока.
Соответственно, модуль 203 обработки пакетов данных далее конфигурирован для того, чтобы: осуществлять поиск, после приема последующего пакета данных для второго сервиса позднее, в сервисной таблице потоков для обнаружения сервисной записи потока, согласованной с этим последующим пакетом данных, и обработки такого последующего пакета данных согласно действию из состава найденной сервисной записи потока.
Предпочтительно, как показано на фиг. 3-2, устройство связи может дополнительно содержать модуль 206 конфигурирования соответствия, где этот модуль 206 конфигурирования соответствия конфигурирован для того, чтобы конфигурировать соответствие между путями сервисов и соответствующими аппаратными таблицами потоков, и при этом совокупность путей сервисов содержит первый целевой путь сервиса, что, в частности, содержит: модуль 206 конфигурирования соответствия конфигурирован для того, чтобы осуществить конфигурирование нескольких физических таблиц потоков и соответствия между физическими таблицами потоков и аппаратными таблицами потоков, где эти несколько физических таблиц потоков по отдельности содержат поддерживаемые поле признаков и действие, поле признаков из каждой физической таблицы потоков входит в совокупность полей признаков в составе соответствующей аппаратной таблицы потоков, а действие, которое входит в совокупность действий в составе каждой физической таблицы потоков и которое нужно записать в аппаратную таблицу потоков, включают в группу действий соответствующей аппаратной таблицы потоков; и модуль 206 конфигурирования соответствия конфигурирован для того, чтобы конфигурировать соответствие между путями сервисов и физическими таблицами потоков, где поле признаков в составе каждого пути сервиса входит в совокупность полей признаков из состава всех физических таблиц потоков, а действие в составе каждого пути сервиса входит в группу действий для всех соответствующих физических таблиц потоков.
Соответственно, то, что модуль 203 обработки пакетов данных конфигурирован для определения, согласно предварительно конфигурированному соответствию между первым целевым путем сервиса и первой аппаратной таблицей потоков, такой первой аппаратной таблицы потоков, соответствующей первому целевому пути сервиса, что, в частности, содержит: модуль 203 обработки пакетов данных конфигурирован для определения первой физической таблицы потоков согласно соответствию между первым целевым путем сервиса и соответствующей первой физической таблицей потоков, и определения первой аппаратной таблицей потоков согласно соответствию между этой первой физической таблицей потоков и соответствующей первой аппаратной таблицей потоков.
Функциональные модули, описанные в варианте 2 настоящего изобретения, могут быть конфигурированы для осуществления способа, выполняемого посредством устройства связи из варианта 1.
Согласно варианту 2 настоящего изобретения все несколько таблиц потоков OpenFlow могут быть использованы для осуществления первого сервиса; поэтому, согласно логической схеме обработки данных в контроллере, независимо от того, какой таблице потоков или каким таблицам потоков принадлежит запись потока, генерируемая для первого сервиса, эта запись потока может быть с успехом сформирована и передана. Кроме того, первый целевой путь сервиса, найденный посредством устройства связи, содержит поле признаков и действие, соответствующие величине поля признаков и величине действия, применяемым к пакету данных для первого сервиса; поэтому, первый целевой путь сервиса поддерживает первый сервис. Более того, поскольку аппаратная таблица потоков, соответствующая первому целевому пути сервиса, поддерживает сервис, поддерживаемый первым целевым путем сервиса, указанная аппаратная таблица потоков, соответствующая первому целевому пути сервиса, представляет собой аппаратную таблицу потоков, поддерживающую первый сервис. Далее, устройство связи может конфигурировать, в аппаратной таблице потоков, запись потока, используемую для осуществления первого сервиса. Поэтому, независимо от того, с каким контроллером соединено устройством связи, это устройство связи может успешно конфигурировать, в аппаратной таблице потоков, запись потока, используемую для осуществления первого сервиса, с целью успешно произвести обработку первого сервиса, уменьшая тем самым вероятность неудачи в предоставлении сервиса.
На фиг. 4 представлен вариант 3 настоящего изобретения, который предлагает устройство 300 связи, содержащее процессор 301 и запоминающее устройство 302, для осуществления конфигурирования записи потока.
Запоминающее устройство 302 конфигурировано для сохранения команд для управления работой компьютера (далее компьютерные команды).
Процессор 301 конфигурирован для выполнения этих компьютерных команд, сохраняемых в запоминающем устройстве 302, так что это устройство связи выполняет следующие операции:
сообщение структуры таблицы потоков контроллеру с использованием протокола OpenFlow OpenFlow, где структура таблицы потоков содержит поля признаков и действия, поддерживаемые несколькими таблицами потоков OpenFlow и типы этих нескольких таблиц потоков OpenFlow, здесь имеет место пересечение между полями признаков и действиями, поддерживаемыми посредством нескольких таблиц потоков OpenFlow, это пересечение содержит поле признаков и действие, используемые для осуществления первого сервиса, поддерживаемого аппаратной таблицей потоков в памяти кристалла интегральной схемы аппаратного передатчика, а типы нескольких таблиц потоков OpenFlow все представляют собой универсальный тип (wildcard type), и это устройство связи соединено с кристаллом интегральной схемы аппаратного передатчика;
прием записи потока, генерируемой согласно структуре таблицы потоков и переданной контроллеру с использованием протокола OpenFlow, и конфигурирование записи потока в программной таблице потоков, где эту запись потока генерирует контроллер согласно структуре таблицы потоков и информации относительно пакета данных, сообщенной посредством устройства связи, эта информация относительно пакета данных содержит информацию относительно первого пакета данных для первого сервиса, а эта запись потока содержит по меньшей мере одну из записей потоков, согласованных с первым пакетом данных;
получение, из программной таблицы потоков, первой записи потока, согласованной с первым пакетом данных; обработку первого пакета данных согласно величине действия в составе первой записи потока; и определение, в составе предварительно конфигурированного пути сервиса, первого целевого пути сервиса, согласованного с первой записью потока, где совокупность полей признаков в составе найденного первого целевого пути сервиса содержит поле признаков входного порта и поле признаков заголовка пакета из группы полей признаков, соответствующих величинам полей признаков из состава первой записи потока, а действие в составе этого первого целевого пути сервиса представляет собой действие, соответствующее величине действия из группы величин действия из состава первой записи потока и используемое для обработки первого пакета данных;
определение, согласно предварительно конфигурированному соответствию между первым целевым путем сервиса и первой аппаратной таблицей потоков, такой первой аппаратной таблицы потоков, соответствующей первому целевому пути сервиса, где эта первая аппаратная таблица потоков, соответствующая первого целевого пути сервиса, поддерживает сервис, поддерживаемый первым целевым путем сервиса; и
конфигурирование записи потока в первой аппаратной таблице потоков согласно первой записи потока.
Согласно конкретному варианту осуществления настоящего изобретения процессор 301 может выполнять компьютерные команды, так что, в частности, совокупность полей признаков из состава нескольких таблиц потоков OpenFlow, сообщенных посредством устройства связи, может содержать все поля признаков, поддерживаемые протоколом OpenFlow, а действия из состава сообщенных нескольких таблиц потоков OpenFlow могут представлять собой действия, поддерживаемые протоколом OpenFlow.
Здесь может быть только одна первая запись потока, или могут быть две или более первых записей потоков. Соответственно, процессор 301 может выполнять компьютерные команды, так что это устройство связи, в частности, осуществляет следующие операции:
когда имеются две или более первых записей потоков, агрегирование этих первых записей потоков для генерации комбинированной записи потока, где величины полей признаков, входящие в комбинированную запись потока, представляют собой величины полей признаков, которые входят в совокупность величин полей признаков из состава первых записей потоков и соответствуют полю признаков входного порта и полю признаков заголовка пакета, а величины действий, входящие в состав комбинированной записи потока, представляют собой величины действий, которые входят в совокупность величин действий из состава первых записей потоков и используются для обработки первого пакета данных; и определение, в составе предварительно конфигурированного пути сервиса, одного пути сервиса, в котором поля признаков содержат поля признаков, соответствующие величинам полей признаков из состава комбинированной записи потока, и в котором действия, содержат действия, соответствующие величинам действий из состава комбинированной записи потока, в качестве первого целевого пути сервиса; и
когда имеется только одна первая запись потока, определение, в составе предварительно конфигурированного пути сервиса, одного пути сервиса, в котором поле признаков представляет собой поле признаков, соответствующее величине поля признаков из состава первой записи потока, и в котором действие представляет собой действие, соответствующее величине действия в составе первой целевой записи потока, в качестве первого пути сервиса.
В рамках конкретного варианта осуществления изобретения, пересечение может далее содержать поле признаков и действие, используемые для осуществления второго сервиса, не поддерживаемого аппаратной таблицей потоков в памяти кристалла интегральной схемы аппаратного передатчика; здесь информация относительно пакета данных далее содержит информацию относительно второго пакета данных для второго сервиса; запись потока, принимаемая от контроллера, далее содержит по меньшей мере одну из записей потоков, согласованных со вторым пакетом данных; и соответственно, процессор 301 выполняет компьютерные команды, так что устройство связи осуществляет далее следующие операции: получение, из программной таблицы потоков, второй записи потока, согласованной со вторым пакетом данных, и обработку второго пакета данных согласно действию из состава второй записи потока.
Далее, процессор 301 может дополнительно выполнять компьютерные команды, так что устройство связи может осуществлять следующие операции:
определение, в составе предварительно конфигурированного пути сервиса, второго целевого пути сервиса, согласованного со второй целевой записью потока, где совокупность полей признаков в составе найденного второго целевого пути сервиса содержит поле признаков входного порта и поле признаков заголовка пакета из группы полей признаков, соответствующих величинам полей признаков из состава второй записи потока, а действие из состава найденного второго целевого пути сервиса представляет собой действие, соответствующее величине действия, которая входит в совокупность величин действия в составе второй записи потока и которая используется для обработки второго пакета данных;
конфигурирование, согласно второй записи потока, сервисной записи потока в сервисной таблице потоков, соответствующей второму целевому пути сервиса, где эта сервисная таблица потоков представляет собой таблицу точного совпадения, а поля признаков в этой сервисной таблице потоков являются всеми полями признаков в составе второго целевого пути сервиса; конфигурирование величины первого поля признаков в составе сервисной записи потока в виде соответствующей величины поля признаков в составе первой записи потока; конфигурирование величины второго поля признаков в составе сервисной записи потока в виде соответствующей величины поля заголовка в заголовке второго пакета данных; и конфигурирование величины действия в составе сервисной записи потока в виде величины действия в составе второй записи потока, где поле признаков, соответствующее величине первого поля признаков, принадлежит к полю признаков, соответствующему величине поля признаков в составе первой записи потока, а поле признаков, соответствующее величине второго поля признаков, не принадлежит к полю признаков, соответствующему величине поля признаков в составе второй записи потока; и
поиск, когда происходит позднее прием последующего пакета данных для второго сервиса, в сервисной таблице потоков для обнаружения сервисной записи потока, согласованной с этим последующим пакетом данных, и обработки этого последующего пакета данных согласно действию из состава найденной сервисной записи потока.
Предпочтительно, процессор 301 дополнительно выполняет компьютерные команды, так что устройство связи далее осуществляет следующие операции: конфигурирование соответствия между путями сервисов и соответствующими аппаратными таблицами потоков, где в состав совокупности путей сервисов входит первый целевой путь сервиса, процедура конфигурирования, в частности, содержит:
конфигурирование нескольких физических таблиц потоков и соответствия между этими физическими таблицами потоков и аппаратными таблицами потоков, где эти несколько физических таблиц потоков по отдельности содержат поддерживаемые поле признаков и действие, поле признаков из каждой физической таблицы потоков входит в совокупность полей признаков в составе соответствующей аппаратной таблицы потоков, а действие, которое входит в совокупность действий в составе каждой физической таблицы потоков и которое нужно записать в аппаратную таблицу потоков, включают в группу действий соответствующей аппаратной таблицы потоков; и
конфигурирование соответствия между путями сервисов и физическими таблицами потоков, где поле признаков в составе каждого пути сервиса входит в совокупность полей признаков из состава всех соответствующих физических таблиц потоков, а действие в составе каждого пути сервиса входит в группу действий для всех соответствующих физических таблиц потоков.
Соответственно, процессор 301 выполняет компьютерные команды, так что процедура определения, посредством устройства связи, согласно предварительно конфигурированному соответствию между первым целевым путем сервиса и первой аппаратной таблицей потоков, такой первой аппаратной таблицы потоков, соответствующей первому целевому пути сервиса, в частности, содержит: процессор 301 выполняет компьютерные команды, так что устройство связи, в частности, определяет первую физическую таблицу потоков согласно соответствию между первым целевым путем сервиса и соответствующей первой физической таблицей потоков, и определяет первую аппаратную таблицу потоков согласно соответствию между первой физической таблицей потоков и соответствующей первой аппаратной таблицей потоков.
Процессор 301, описываемый в варианте 3 настоящего изобретения, выполняет компьютерные команды, так что устройство связи осуществляет способ, реализуемый устройством связи в варианте 1.
Согласно варианту 3 настоящего изобретения все несколько таблиц потоков OpenFlow могут быть использованы для осуществления первого сервиса; поэтому, согласно логической схеме обработки данных в контроллере, независимо от того, какой таблице потоков или каким таблицам потоков соответствует запись потока, генерируемая для первого сервиса, эта запись потока может быть успешно сформирована и передана. Кроме того, первый целевой путь сервиса, найденный устройством связи, содержит поле признаков и действие, соответствующие величине поля признаков и величине действия относительно пакета данных для первого сервиса; поэтому указанный первый целевой путь сервиса поддерживает первый сервис. Более того, поскольку аппаратная таблица потоков, соответствующая первому целевому пути сервиса, поддерживает сервис, поддерживаемый первым целевым путем сервиса, аппаратная таблица потоков, соответствующая первому целевому пути сервиса, представляет собой аппаратную таблицу потоков, поддерживающую первый сервис. Далее, устройство связи может конфигурировать, в аппаратной таблице потоков, запись потока, используемую для осуществления первого сервиса. Поэтому, независимо от того, с каким контроллером соединено устройство связи, это устройство связи может с успехом конфигурировать, в аппаратной таблице потоков, запись потока, используемую для осуществления первого сервиса с целью успешно произвести обработку первого сервиса, уменьшая тем самым вероятность неудачи в обработке сервиса.
Как показано на фиг. 5, вариант 4 настоящего изобретения предлагает коммутатор 400, содержащий устройство 401 связи и кристалл 402 интегральной схемы аппаратного передатчика, где это устройство 401 связи соединено с кристаллом 402 интегральной схемы аппаратного передатчика, это устройство 401 связи осуществляет связь с контроллером с использованием протокола OpenFlow OpenFlow, так что это устройство 401 связи представляет собой устройство 200 связи, предлагаемое Вариантом 2, или устройство 300 связи, предлагаемое вариантом 3.
Как показано на фиг. 6, вариант 5 настоящего изобретения предлагает систему 500 связи, содержащую коммутатор 501 и контроллер 502, где этот коммутатор 501 осуществляет связь с контроллером 502 с использованием протокола OpenFlow OpenFlow, так что коммутатор 501 представляет собой, в частности, коммутатор 400, предлагаемый вариантом 4.
Даже рядовой специалист в рассматриваемой области может знать, что, в сочетании с примерами, описываемыми в вариантах, рассмотренных в настоящем описании, модули и этапы алгоритмов могут быть осуществлены посредством электронной аппаратуры или сочетания компьютерного программного обеспечения и электронной аппаратуры. Осуществлять ли функции посредством аппаратуры или программного обеспечения, зависит от конкретных приложений и проектных ограничений, наложенных на технические решения. Специалист в рассматриваемой области может использовать различные способы для осуществления описываемых функций в каждом конкретном приложении, но это не следует считать выходом соответствующего варианта осуществления за пределы объема настоящего изобретения.
Специалист в рассматриваемой области может ясно понимать, что в целях удобства и краткости описания подробностей различных процессов в рассматриваемых выше системах, устройствах и модулях, ссылки могут быть сделаны на соответствующие процессы в приведенных выше описаниях вариантов способа, так что подробности здесь повторно рассмотрены не будут.
В ряде вариантов, предлагаемых в настоящей заявке, должно быть понятно, что описываемые система, устройство и способ могут быть осуществлены и по-другому. Например, рассмотренный здесь вариант устройства является всего лишь примером. Например, приведенное здесь разбиение на модули является всего лишь разбиением логических функций, так что в реальных вариантах осуществления возможны другие способы разбиения. Например, несколько модулей или компонентов могут быть объединены или интегрированы в другой системе, либо некоторые признаки можно игнорировать или не осуществлять. Кроме того, показанные здесь или обсуждаемые взаимосвязи или прямые связи или соединения связи могут быть осуществлены посредством некоторых интерфейсов. Непрямые связи или соединения связи между устройствами или модулями могут быть осуществлены в электронной, механической или другой форме.
Модули, описываемые в виде раздельных частей, могут быть или не могут быть физически раздельными, а части, описываемые в качестве модулей, могут быть или не быть физическими модулями, могут быть расположены в одном месте или могут быть распределены по нескольким сетевым модулям. Некоторые или все модули могут быть выбраны согласно реальным нуждам для выбора целей решений согласно вариантам.
Кроме того, функциональные модули в составе вариантов настоящего изобретения могут быть интегрированы в одном процессорном модуле, или каждый из модулей может существовать физически отдельно, либо два или более модулей могут быть интегрированы в одном модуле.
Когда функции выполняют в форме программного функционального модуля и продают или используют в качестве независимого продукта, эти функции могут быть записаны на компьютерном носителе информации. На основе такого понимания, технические решения согласно настоящему изобретению по существу или частично вносят вклад в известные решения, либо некоторые технические решения могут быть выполнены в форме программного продукта. Этот программный продукт записан на носителе информации и содержит ряд команд для управления компьютерным устройством (которое может представлять собой персональный компьютер, сервер или сетевое устройство) для осуществления всех или некоторых этапов способов, описываемых в вариантах настоящего изобретения. Указанный выше носитель информации может представлять собой: какой-либо носитель, способный сохранять программный код, такой как устройство USB флэш-памяти, сменный жесткий диск, постоянное запоминающее устройство (ПЗУ (ROM, Read-Only Memory)), запоминающее устройство с произвольной выборкой (ЗУПВ (RAM, Random Access Memory)), магнитный диск или оптический диск.
Приведенное выше описание содержит всего лишь конкретные способы осуществления настоящего изобретения и не ставит целью как-то ограничить объем защиты настоящего изобретения. Любые вариации или замены, легко получаемые специалистами в рассматриваемой области в пределах описываемого здесь технического объема настоящего изобретения, попадут в объем защиты этого изобретения. Поэтому объем защиты настоящего изобретения следует считать соответствующим объему защиты формулы изобретения.
Claims (74)
1. Способ конфигурирования записи потока, содержащий:
сообщение, посредством коммутатора, информации относительно пакета данных для первого сервиса контроллеру;
прием, посредством коммутатора, записи потока, которая соответствует первому сервису и которую передал контроллер, согласно информации относительно пакета данных для первого сервиса и структуре таблицы потоков, где структура таблицы потоков содержит поля признаков и действия, поддерживаемые несколькими таблицами потоков, поле признаков, поддерживаемое каждой из нескольких таблиц потоков, представляет собой поле признаков, соответствующее первому сервису, а действие, поддерживаемое каждой из нескольких таблиц потоков, представляет собой действие, соответствующее первому сервису;
определение, посредством коммутатора, в составе предварительно конфигурированного пути сервиса, первого целевого пути сервиса, согласованного с записью потока, соответствующего первому сервису, где поле признаков в составе первого целевого пути сервиса представляет собой поле признаков, соответствующее первому сервису, а действие в составе первого целевого пути сервиса представляет собой действия из состава первого сервиса;
определение, посредством коммутатора, целевой аппаратной таблицы потоков согласно предварительно конфигурированному соответствию между путем сервиса и аппаратной таблицей потоков в памяти коммутатора, где целевая аппаратная таблица потоков поддерживает сервис, поддерживаемый первым целевым путем сервиса; и
конфигурирование, посредством коммутатора, записи потока в целевой аппаратной таблице потоков согласно записи потока, соответствующей первому сервису.
2. Способ по п. 1, отличающийся тем, что процедура определения, посредством коммутатора, в составе предварительно конфигурированного пути сервиса, первого целевого пути сервиса, согласованного с записью потока, соответствующей первому сервису, в частности, содержит:
конфигурирование, посредством коммутатора, записи потока, соответствующей первому сервису, в программной таблице потоков; и
получение, посредством коммутатора, из программной таблицы потоков, первой целевой записи потока, согласованной с пакетом данных для первого сервиса, и определение, в составе предварительно конфигурированного пути сервиса, первого целевого пути сервиса, согласованного с первой записью потока, где совокупность полей признаков в составе найденного первого целевого пути сервиса содержит поле признаков входного порта и поле признаков заголовка пакета из группы полей признаков, соответствующих величинам полей признаков из состава первой целевой записи потока, а действие в составе этого первого целевого пути сервиса представляет собой действие, соответствующее величине действия из группы величин действия из состава первой целевой записи потока и используемое для обработки первого пакета данных; и
конфигурирование, посредством коммутатора, записи потока в составе целевой аппаратной таблицы потоков согласно записи потока, соответствующей первому сервису, в частности, содержит конфигурирование, посредством коммутатора, записи потока в составе целевой аппаратной таблицы потоков согласно первой целевой записи потока.
3. Способ по п. 2, отличающийся тем, что определение, в составе предварительно конфигурированного пути сервиса, первого целевого пути сервиса, согласованного с первой целевой записью потока, в частности, содержит:
когда имеются две или более первых целевых записей потоков, агрегирование этих первых целевых записей потоков для генерации комбинированной записи потока, где величины полей признаков, входящие в комбинированную запись потока, представляют собой величины полей признаков, которые входят в совокупность величин полей признаков из состава первых целевых записей потоков и соответствуют полю признаков входного порта и полю признаков заголовка пакета, а величины действий, входящие в состав комбинированной записи потока, представляют собой величины действий, которые входят в совокупность величин действий из состава первых целевых записей потоков и используются для обработки пакета данных для первого сервиса; и определение, в составе предварительно конфигурированного пути сервиса, одного пути сервиса, в котором поля признаков содержат поля признаков, соответствующие величинам полей признаков из состава комбинированной записи потока, и в котором действия содержат действия, соответствующие величинам действий из состава комбинированной записи потока, в качестве первого целевого пути сервиса; и
когда имеется только одна первая целевая запись потока, определение, в составе предварительно конфигурированного пути сервиса, одного пути сервиса, в котором поле признаков представляет собой поле признаков, соответствующее величине поля признаков из состава первой целевой записи потока, и в котором действие представляет собой действие, соответствующее величине действия в составе первой целевой записи потока, в качестве первого целевого пути сервиса.
4. Способ по п. 2, отличающийся тем, что поле признаков и действие, поддерживаемые каждой из нескольких таблиц потоков, далее представляют собой поле признаков и действие из состава второго сервиса, где этот второй сервис представляет собой сервис, не поддерживаемый аппаратной таблицей потоков в памяти коммутатора; и
этот способ дополнительно содержит:
сообщение, посредством коммутатора, информации относительно пакета данных для второго сервиса контроллеру; и
прием, посредством коммутатора, записи потока, которая соответствует второму сервису и которую передал контроллер согласно информации относительно пакета данных для второго сервиса и структуре таблицы потоков,
и конфигурирование записи потока, соответствующей второму сервису, в программной таблице потоков.
5. Способ по п. 4 после конфигурирования записи потока, соответствующей второму сервису, в программной таблице потоков, дополнительно содержит:
получение, посредством коммутатора, из программной таблицы потоков, второй целевой записи потока, согласованной с пакетом данных для второго сервиса;
определение, посредством коммутатора, в составе предварительно конфигурированного пути сервиса, второго целевого пути сервиса, согласованного со второй целевой записью потока, где совокупность полей признаков в составе найденного второго целевого пути сервиса содержит поле признаков входного порта и поле признаков заголовка пакета из группы полей признаков, соответствующих величинам полей признаков из состава второй целевой записи потока, а действие из состава второго целевого пути сервиса представляет собой действие, соответствующее величине действия, которая входит в совокупность величин действия в составе второй целевой записи потока и которая используется для обработки пакета данных для второго сервиса;
конфигурирование, посредством коммутатора, согласно второй целевой записи потока, сервисной записи потока в сервисной таблице потоков, соответствующей второму целевому пути сервиса, где эта сервисная таблица потоков представляет собой таблицу точного совпадения, а поля признаков в этой сервисной таблице потоков являются всеми полями признаков в составе второго целевого пути сервиса;
конфигурирование величины первого поля признаков в составе сервисной записи потока в виде соответствующей величины поля признаков в составе второй целевой записи потока;
конфигурирование величины второго поля признаков в составе сервисной записи потока в виде соответствующей величины поля заголовка в заголовке пакета в составе пакета данных для второго сервиса;
и конфигурирование величины действия в составе сервисной записи потока в виде величины действия в составе второй целевой записи потока, где поле признаков, соответствующее величине первого поля признаков, принадлежит к полю признаков, соответствующему величине поля признаков в составе второй целевой записи потока, а поле признаков, соответствующее величине второго поля признаков, не принадлежит к полю признаков, соответствующему величине поля признаков в составе второй целевой записи потока; и
поиск, посредством коммутатора, когда происходит позднее прием следующего пакета данных для второго сервиса, в сервисной таблице потоков для обнаружения сервисной записи потока, согласованной с этим последующим пакетом данных, и обработку этого последующего пакета данных согласно действию из состава найденной сервисной записи потока.
6. Способ по любому из пп. 1-5, отличающийся тем, что:
прежде определения целевой аппаратной таблицы потоков согласно предварительно конфигурированному соответствию между путем сервиса и аппаратной таблицей потоков способ дополнительно содержит конфигурирование соответствия между путями сервисов и соответствующими аппаратными таблицами потоков, что, в частности, содержит:
конфигурирование нескольких физических таблиц потоков и соответствия между этими физическими таблицами потоков и аппаратными таблицами потоков, где эти несколько физических таблиц потоков по отдельности содержат поддерживаемые поле признаков и действие, поле признаков из каждой физической таблицы потоков входит в совокупность полей признаков в составе соответствующей аппаратной таблицы потоков, а действие, которое входит в совокупность действий в составе каждой физической таблицы потоков и которое нужно записать в аппаратную таблицу потоков, присутствует в группу действий соответствующей аппаратной таблицы потоков; и
конфигурирование соответствия между путями сервисов и физическими таблицами потоков, где поле признаков в составе каждого пути сервиса входит в совокупность полей признаков из состава всех физических таблиц потоков, а действие в составе каждого пути сервиса входит в группу действий для всех соответствующих физических таблиц потоков; и
процедура определения, посредством коммутатора, целевой аппаратной таблицы потоков согласно предварительно конфигурированному соответствию между путем сервиса и аппаратной таблицей потоков, в частности, содержит:
определение, посредством коммутатора, первой физической таблицы потоков, согласно соответствию между первым целевым путем сервиса и соответствующей первой физической таблицей потоков, и определение целевой аппаратной таблицы потоков согласно соответствию между первой физической таблицей потоков и соответствующей целевой аппаратной таблицей потоков.
7. Способ по любому из пп. 1-5, прежде сообщения, посредством коммутатора, информации относительно пакета данных для первого сервиса контроллеру далее содержит: сообщение, посредством коммутатора, структуры таблицы потоков контроллеру.
8. Способ по любому из пп. 1-5, отличающийся тем, что структура таблицы потоков далее содержит указания типов нескольких таблиц потоков, эти типы нескольких таблиц потоков все представляют собой универсальный тип (wildcard type).
9. Способ по любому из пп. 1-5, отличающийся тем, что коммутатор осуществляет связь с контроллером с использованием протокола OpenFlow OpenFlow, а указанные несколько таблиц потоков представляют собой таблицы потоков Openflow.
10. Способ по п. 9, отличающийся тем, что поля признаков в составе нескольких таблиц потоков все представляют собой поля признаков, поддерживаемые протоколом OpenFlow, а действия в составе нескольких таблиц потоков все являются действиями, поддерживаемыми протоколом OpenFlow.
11. Устройство связи для осуществления конфигурирования записи потока, отличающееся тем, что это устройство связи соединено с кристаллом интегральной схемы аппаратного передатчика и содержит интерфейсный модуль, модуль обработки пакетов данных и модуль конфигурирования аппаратной таблицы потоков, где:
интерфейсный модуль конфигурирован для сообщения информации относительно пакета данных для первого сервиса контроллеру и далее конфигурирован для приема записи потока, которая соответствует первому сервису и которую передает этот контроллер, согласно информации относительно пакета данных и структуре таблицы потоков, где эта структура таблицы потоков содержит поля признаков и действия, поддерживаемые указанными несколькими таблицами потоков, поле признаков, поддерживаемое каждой из нескольких таблиц потоков, представляет собой поле признаков, соответствующее первому сервису, и действие, поддерживаемое каждой из этих нескольких таблиц потоков, представляет собой действие, соответствующее первому сервису;
модуль обработки пакетов данных конфигурирован для определения, в составе предварительно конфигурированного пути сервиса, первого целевого пути сервиса, согласованного с записью потока, соответствующей первому сервису, где совокупность полей признаков этого первого целевого пути сервиса содержит поле признаков, соответствующее первому сервису, и действие в составе первого целевого пути сервиса представляет собой действие, соответствующее первому сервису; а модуль обработки пакетов данных конфигурирован для определения целевой аппаратной таблицы потоков согласно предварительно конфигурированному соответствию между путем сервиса и аппаратной таблицей потоков в памяти кристаллов интегральной схемы аппаратного передатчика, где эта целевая аппаратная таблица потоков поддерживает сервис, поддерживаемый первым целевым путем сервиса; и
модуль конфигурирования аппаратной таблицы потоков конфигурирован для осуществления конфигурирования записи потока в составе целевой аппаратной таблицы потоков согласно записи потока, соответствующей первому сервису.
12. Устройство связи по п. 11, отличающееся тем, что модуль обработки пакетов данных конфигурированный для определения, в составе предварительно конфигурированного пути сервиса, первого целевого пути сервиса, согласованного с записью потока, соответствующей первому сервису, где все это в частности содержит:
модуль обработки пакетов данных конфигурирован для того, чтобы: осуществить конфигурирование записи потока, соответствующей первому сервису, в программной таблице потоков, получить из программной таблицы потоков первую целевую запись потока, согласованную с пакетом данных для первого сервиса, и определить, в составе предварительно конфигурированного пути сервиса, первый целевой путь сервиса, согласованный с первой целевой записи потока, где совокупность полей признаков в составе найденного первого целевого пути сервиса содержит поле признаков входного порта и поле признаков заголовка пакета из группы полей признаков, соответствующих величинам полей признаков из состава первой целевой записи потока, а действие в составе этого первого целевого пути сервиса представляет собой действие, соответствующее величине действия из группы величин действия из состава первой целевой записи потока и используемое для обработки первого пакета данных; и
модуль конфигурирования аппаратной таблицы потоков конфигурирован для осуществления конфигурирования записи потока в составе целевой аппаратной таблицы потоков согласно записи потока, соответствующей первому сервису.
13. Устройство связи по п. 12, отличающееся тем, что модуль обработки пакетов данных конфигурирован для определения, в составе предварительно конфигурированного пути сервиса, первого целевого пути сервиса, согласованного с первой записью потока, что, в частности, содержит:
модуль обработки пакетов данных, конфигурированный для того, чтобы: когда имеются две или более первых целевых записей потоков, агрегировать эти первые целевые записи потоков для генерации комбинированной записи потока, где величины полей признаков в составе комбинированной записи потока представляют собой величины полей признаков, которые входят в совокупность величин полей признаков из состава первых целевых записей потоков и которые соответствуют полю признаков входного порта и полю признаков заголовка пакета, а величины действий в составе комбинированной записи потока представляют собой величины действий, которые входят в группу величин действий в составе первых целевых записей потоков и которые используются для обработки пакета данных для первого сервиса; и определение, в составе предварительно конфигурированного пути сервиса, одного пути сервиса, для которого совокупность полей признаков содержит поля признаков, соответствующие величинам полей признаков в составе комбинированной записи потока, и в котором совокупность действий содержит действия, соответствующие величинам действия из состава комбинированной записи потока, в качестве первого целевого пути сервиса;
и модуль обработки пакетов данных конфигурирован для того, чтобы: когда имеется только одна первая целевая запись потока, определить, в составе предварительно конфигурированного пути сервиса, один путь сервиса, в котором поле признаков представляет собой поле признаков, соответствующее величине поля признаков из состава первой целевой записи потока, и в котором действие представляет собой действие, соответствующее величине действия в составе первой целевой записи потока, в качестве первого целевого пути сервиса.
14. Устройство связи по п. 12, отличающееся тем, что поле признаков и действие, поддерживаемые каждой из нескольких таблиц потоков, далее представляют собой поле признаков и действие, соответствующие второму сервису, где этот второй сервис представляет собой сервис, не поддерживаемый аппаратной таблицей потоков, хранящейся в памяти кристалла интегральной схемы аппаратного передатчика; и
интерфейсный модуль дополнительно конфигурирован для того, чтобы сообщать информацию относительно пакета данных для второго сервиса контроллеру и принимать запись потока, которая соответствует второму сервису и которую передает контроллер, согласно информации относительно пакета данных для второго сервиса и структуре таблицы потоков; и
модуль обработки пакетов данных дополнительно конфигурирован для того, чтобы осуществлять конфигурирование записи потока, которая соответствует второму сервису и которую принял интерфейсный модуль, в программной таблице потоков.
15. Устройство связи по любому из пп. 11-14, отличающееся тем, что устройство связи дополнительно содержит модуль конфигурирования сервисной таблицы потоков, где:
модуль обработки пакетов данных далее конфигурирован для получения из состава программной таблицы потоков второй целевой записи потока, согласованной с пакетом данных для второго сервиса, и определения, в составе предварительно конфигурированного пути сервиса, второго целевого пути сервиса, согласованного со второй целевой записью потока, где совокупность полей признаков в составе найденного второго целевого пути сервиса содержит поле признаков входного порта и поле признаков заголовка пакета из группы полей признаков, соответствующих величинам полей признаков из состава второй целевой записи потока, а действие из состава найденного второго целевого пути сервиса представляет собой действие, соответствующее величине действия, которая входит в совокупность величин действия в составе второй целевой записи потока и которая используется для обработки пакета данных для второго сервиса;
модуль конфигурирования сервисной таблицы потоков конфигурирован для того, чтобы: конфигурировать, согласно второй целевой записи потока, сервисную запись потока в сервисной таблице потоков, соответствующей второго целевого пути сервиса, где эта сервисная таблица потоков представляет собой таблицу точного совпадения, а поля признаков в этой сервисной таблице потоков все являются всеми полями признаков в составе второго целевого пути сервиса; конфигурировать величину первого поля признаков в составе сервисной записи потока в виде соответствующей величины поля признаков в составе второй целевой записи потока; конфигурировать величину второго поля признаков в составе сервисной записи потока в виде соответствующей величины поля заголовка в заголовке пакета в составе пакета данных для второго сервиса; и конфигурировать величину действия в составе сервисной записи потока в виде величины действия в составе второй целевой записи потока, где поле признаков, соответствующее величине первого поля признаков, принадлежит к полю признаков, соответствующему величине поля признаков в составе второй целевой записи потока, а поле признаков, соответствующее величине второго поля признаков, не принадлежит к полю признаков, соответствующему величине поля признаков в составе второй целевой записи потока; и
модуль обработки пакетов данных далее конфигурирован для того, чтобы: осуществлять поиск, когда происходит позднее прием последующего пакета данных для второго сервиса, в сервисной таблице потоков для обнаружения сервисной записи потока, согласованной с этим последующим потоком данных, и обрабатывать этот последующий пакет данных согласно действию из состава найденной сервисной записи потока.
16. Устройство связи по любому из пп. 11-14, отличающееся тем, что устройство связи далее содержит модуль конфигурирования соответствия, где:
модуль конфигурирования соответствия конфигурирован для того, чтобы конфигурировать соответствие между путями сервисов и соответствующими аппаратными таблицами потоков, что, в частности, содержит: этот модуль конфигурирования соответствия конфигурирован для того, чтобы: конфигурировать несколько физических таблиц потоков и соответствия между этими физическими таблицами потоков и аппаратными таблицами потоков, где эти несколько физических таблиц потоков по отдельности содержат поддерживаемые поле признаков и действие, поле признаков из каждой физической таблицы потоков входит в совокупность полей признаков в составе соответствующей аппаратной таблицы потоков, а действие, которое входит в совокупность действий в составе каждой физической таблицы потоков и которое нужно записать в аппаратную таблицу потоков, включают в группу действий соответствующей аппаратной таблицы потоков; и этот модуль конфигурирования соответствия конфигурирован для того, чтобы конфигурировать соответствие между путями сервисов и физическими таблицами потоков, где поле признаков в составе каждого пути сервиса входит в совокупность полей признаков из состава всех физических таблиц потоков, а действие в составе каждого пути сервиса входит в группу действий для всех соответствующих физических таблиц потоков; и
модуль обработки пакетов данных конфигурирован для определения целевой аппаратной таблицы потоков согласно предварительно конфигурированному соответствию между путем сервиса и аппаратной таблицей потоков, что, в частности, содержит: модуль обработки пакетов данных конфигурирован для определения первой физической таблицы потоков, согласно соответствию между первым целевым путем сервиса и соответствующей первой физической таблицей потоков, и определения целевой аппаратной таблицы потоков согласно соответствию между первой физической таблицей потоков и соответствующей целевой аппаратной таблицей потоков.
17. Устройство связи по любому из пп. 11-14, отличающееся тем, что это устройство связи осуществляет связь с контроллером с использованием протокола OpenFlow OpenFlow, а таблицы потоков представляют собой таблицы потоков OpenFlow; поля признаков из состава нескольких таблиц потоков все представляют собой поля признаков, поддерживаемые протоколом OpenFlow, и действия из состава нескольких таблиц потоков все представляют собой действия, поддерживаемые протоколом OpenFlow.
18. Энергонезависимый компьютерный носитель информации, содержащий команды управления операциями компьютера, при выполнении которых процессором устройства связи это устройство связи осуществляет следующие операции:
сообщение информации относительно пакета данных для первого сервиса контроллеру;
прием записи потока, которая соответствует первому сервису и которую передает контроллер, согласно информации относительно пакета данных для первого сервиса и структуре таблицы потоков, где эта структура таблицы потоков содержит поля признаков и действия, поддерживаемые несколькими таблицами потоков, поле признаков, поддерживаемое каждой из нескольких таблиц потоков, представляет собой поле признаков, соответствующее первому сервису, а действие, поддерживаемое каждой из нескольких таблиц потоков, представляет собой действие, соответствующее первому сервису;
определение, в составе предварительно конфигурированного пути сервиса, первого целевого пути сервиса, согласованного с записью потока, соответствующей первому сервису, где поле признаков в составе найденного первого целевого пути сервиса содержит поле признаков, соответствующее первому сервису, а действие в составе этого первого целевого пути сервиса представляет собой действие, соответствующее первому сервису;
определение, согласно предварительно конфигурированному соответствию между путем сервиса и аппаратной таблицей потоков в памяти кристалла интегральной схемы аппаратного передатчика, соединенного с устройством связи, целевой аппаратной таблицы потоков, где эта целевая аппаратная таблица потоков поддерживает сервис, поддерживаемый первым целевым путем сервиса; и
конфигурирование записи потока в целевой аппаратной таблице потоков согласно записи потока, соответствующей первому сервису.
19. Коммутатор, содержащий:
кристалл интегральной схемы аппаратного передатчика; и
устройство связи по любому из пп. 11-14.
20. Система связи, содержащая контроллер и коммутатор и отличающаяся тем, что:
коммутатор конфигурирован для того, чтобы:
сообщить информацию относительно пакета данных для первого сервиса контроллеру;
принять запись потока, которая соответствует первому сервису и которую передает контроллер, согласно информации относительно пакета данных для первого сервиса и структуре таблицы потоков, где эта структура таблицы потоков содержит поля признаков и действия, поддерживаемые несколькими таблицами потоков, поле признаков, поддерживаемое каждой из нескольких таблиц потоков, представляет собой поле признаков, соответствующее первому сервису, а действие, поддерживаемое каждой из нескольких таблиц потоков, представляет собой действие, соответствующее первому сервису;
определить, в составе предварительно конфигурированного пути сервиса, первый целевой путь сервиса, согласованный с записью потока, соответствующей первому сервису, где поле признаков в составе найденного первого целевого пути сервиса содержит поле признаков, соответствующее первому сервису, а действие в составе этого первого целевого пути сервиса представляет собой действие, соответствующее первому сервису;
определить, согласно предварительно конфигурированному соответствию между путем сервиса и аппаратной таблицей потоков в памяти кристалла интегральной схемы аппаратного передатчика, соединенного с устройством связи, целевую аппаратную таблицу потоков, где эта целевая аппаратная таблица потоков поддерживает сервис, поддерживаемый первым целевым путем сервиса; и
конфигурировать запись потока в целевой аппаратной таблице потоков согласно записи потока, соответствующей первому сервису;
контроллер конфигурирован для того, чтобы принять информацию относительно пакета данных для первого сервиса от коммутатора и передать запись потока, соответствующую первому сервису, согласно информации относительно пакета данных для первого сервиса и структуре таблицы потоков.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNPCT/CN2014/081183 | 2014-06-30 | ||
CN2014081183 | 2014-06-30 | ||
PCT/CN2014/089530 WO2016000362A1 (zh) | 2014-06-30 | 2014-10-27 | 一种配置流表项的方法、装置和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2651143C1 true RU2651143C1 (ru) | 2018-04-18 |
Family
ID=55018375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2017100992A RU2651143C1 (ru) | 2014-06-30 | 2014-10-27 | Способ, устройство и система для конфигурирования записей потоков |
Country Status (9)
Country | Link |
---|---|
US (2) | US10305777B2 (ru) |
EP (1) | EP3142310B1 (ru) |
JP (1) | JP6490205B2 (ru) |
KR (1) | KR101886291B1 (ru) |
CN (1) | CN106664261B (ru) |
AU (1) | AU2014399458B2 (ru) |
CA (1) | CA2950206C (ru) |
RU (1) | RU2651143C1 (ru) |
WO (1) | WO2016000362A1 (ru) |
Families Citing this family (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9781004B2 (en) | 2014-10-16 | 2017-10-03 | Cisco Technology, Inc. | Discovering and grouping application endpoints in a network environment |
US20160315866A1 (en) * | 2015-04-27 | 2016-10-27 | Telefonaktiebolaget L M Ericsson (Publ) | Service based intelligent packet-in mechanism for openflow switches |
US10348619B2 (en) * | 2015-07-31 | 2019-07-09 | Nicira, Inc. | Generating conjunctive match flow entries |
CN107547293B (zh) * | 2016-06-29 | 2020-09-08 | 新华三技术有限公司 | 一种流路径探测方法和装置 |
US10560328B2 (en) | 2017-04-20 | 2020-02-11 | Cisco Technology, Inc. | Static network policy analysis for networks |
US10623264B2 (en) | 2017-04-20 | 2020-04-14 | Cisco Technology, Inc. | Policy assurance for service chaining |
US10826788B2 (en) | 2017-04-20 | 2020-11-03 | Cisco Technology, Inc. | Assurance of quality-of-service configurations in a network |
US20180351788A1 (en) | 2017-05-31 | 2018-12-06 | Cisco Technology, Inc. | Fault localization in large-scale network policy deployment |
US10581694B2 (en) | 2017-05-31 | 2020-03-03 | Cisco Technology, Inc. | Generation of counter examples for network intent formal equivalence failures |
US10693738B2 (en) | 2017-05-31 | 2020-06-23 | Cisco Technology, Inc. | Generating device-level logical models for a network |
US10812318B2 (en) | 2017-05-31 | 2020-10-20 | Cisco Technology, Inc. | Associating network policy objects with specific faults corresponding to fault localizations in large-scale network deployment |
US10505816B2 (en) | 2017-05-31 | 2019-12-10 | Cisco Technology, Inc. | Semantic analysis to detect shadowing of rules in a model of network intents |
US10439875B2 (en) | 2017-05-31 | 2019-10-08 | Cisco Technology, Inc. | Identification of conflict rules in a network intent formal equivalence failure |
US10623271B2 (en) | 2017-05-31 | 2020-04-14 | Cisco Technology, Inc. | Intra-priority class ordering of rules corresponding to a model of network intents |
US10554483B2 (en) | 2017-05-31 | 2020-02-04 | Cisco Technology, Inc. | Network policy analysis for networks |
US10904101B2 (en) | 2017-06-16 | 2021-01-26 | Cisco Technology, Inc. | Shim layer for extracting and prioritizing underlying rules for modeling network intents |
US10587621B2 (en) | 2017-06-16 | 2020-03-10 | Cisco Technology, Inc. | System and method for migrating to and maintaining a white-list network security model |
US11469986B2 (en) | 2017-06-16 | 2022-10-11 | Cisco Technology, Inc. | Controlled micro fault injection on a distributed appliance |
US10686669B2 (en) | 2017-06-16 | 2020-06-16 | Cisco Technology, Inc. | Collecting network models and node information from a network |
US10574513B2 (en) | 2017-06-16 | 2020-02-25 | Cisco Technology, Inc. | Handling controller and node failure scenarios during data collection |
US11150973B2 (en) | 2017-06-16 | 2021-10-19 | Cisco Technology, Inc. | Self diagnosing distributed appliance |
US11645131B2 (en) | 2017-06-16 | 2023-05-09 | Cisco Technology, Inc. | Distributed fault code aggregation across application centric dimensions |
US10547715B2 (en) | 2017-06-16 | 2020-01-28 | Cisco Technology, Inc. | Event generation in response to network intent formal equivalence failures |
US10498608B2 (en) | 2017-06-16 | 2019-12-03 | Cisco Technology, Inc. | Topology explorer |
US10673702B2 (en) | 2017-06-19 | 2020-06-02 | Cisco Technology, Inc. | Validation of layer 3 using virtual routing forwarding containers in a network |
US10432467B2 (en) | 2017-06-19 | 2019-10-01 | Cisco Technology, Inc. | Network validation between the logical level and the hardware level of a network |
US10341184B2 (en) | 2017-06-19 | 2019-07-02 | Cisco Technology, Inc. | Validation of layer 3 bridge domain subnets in in a network |
US10536337B2 (en) | 2017-06-19 | 2020-01-14 | Cisco Technology, Inc. | Validation of layer 2 interface and VLAN in a networked environment |
US10554493B2 (en) | 2017-06-19 | 2020-02-04 | Cisco Technology, Inc. | Identifying mismatches between a logical model and node implementation |
US10652102B2 (en) | 2017-06-19 | 2020-05-12 | Cisco Technology, Inc. | Network node memory utilization analysis |
US11343150B2 (en) | 2017-06-19 | 2022-05-24 | Cisco Technology, Inc. | Validation of learned routes in a network |
US10700933B2 (en) | 2017-06-19 | 2020-06-30 | Cisco Technology, Inc. | Validating tunnel endpoint addresses in a network fabric |
US10348564B2 (en) | 2017-06-19 | 2019-07-09 | Cisco Technology, Inc. | Validation of routing information base-forwarding information base equivalence in a network |
US10560355B2 (en) | 2017-06-19 | 2020-02-11 | Cisco Technology, Inc. | Static endpoint validation |
US10505817B2 (en) | 2017-06-19 | 2019-12-10 | Cisco Technology, Inc. | Automatically determining an optimal amount of time for analyzing a distributed network environment |
US10411996B2 (en) | 2017-06-19 | 2019-09-10 | Cisco Technology, Inc. | Validation of routing information in a network fabric |
US10218572B2 (en) | 2017-06-19 | 2019-02-26 | Cisco Technology, Inc. | Multiprotocol border gateway protocol routing validation |
US10437641B2 (en) | 2017-06-19 | 2019-10-08 | Cisco Technology, Inc. | On-demand processing pipeline interleaved with temporal processing pipeline |
US10528444B2 (en) | 2017-06-19 | 2020-01-07 | Cisco Technology, Inc. | Event generation in response to validation between logical level and hardware level |
US10567228B2 (en) | 2017-06-19 | 2020-02-18 | Cisco Technology, Inc. | Validation of cross logical groups in a network |
US10567229B2 (en) | 2017-06-19 | 2020-02-18 | Cisco Technology, Inc. | Validating endpoint configurations between nodes |
US10547509B2 (en) | 2017-06-19 | 2020-01-28 | Cisco Technology, Inc. | Validation of a virtual port channel (VPC) endpoint in the network fabric |
US10623259B2 (en) | 2017-06-19 | 2020-04-14 | Cisco Technology, Inc. | Validation of layer 1 interface in a network |
US10644946B2 (en) | 2017-06-19 | 2020-05-05 | Cisco Technology, Inc. | Detection of overlapping subnets in a network |
US10805160B2 (en) | 2017-06-19 | 2020-10-13 | Cisco Technology, Inc. | Endpoint bridge domain subnet validation |
US10333787B2 (en) | 2017-06-19 | 2019-06-25 | Cisco Technology, Inc. | Validation of L3OUT configuration for communications outside a network |
US10812336B2 (en) | 2017-06-19 | 2020-10-20 | Cisco Technology, Inc. | Validation of bridge domain-L3out association for communication outside a network |
US11283680B2 (en) | 2017-06-19 | 2022-03-22 | Cisco Technology, Inc. | Identifying components for removal in a network configuration |
US10587484B2 (en) | 2017-09-12 | 2020-03-10 | Cisco Technology, Inc. | Anomaly detection and reporting in a network assurance appliance |
US10587456B2 (en) | 2017-09-12 | 2020-03-10 | Cisco Technology, Inc. | Event clustering for a network assurance platform |
US10554477B2 (en) | 2017-09-13 | 2020-02-04 | Cisco Technology, Inc. | Network assurance event aggregator |
US10333833B2 (en) | 2017-09-25 | 2019-06-25 | Cisco Technology, Inc. | Endpoint path assurance |
CN107623635B (zh) * | 2017-10-30 | 2020-07-21 | 深圳市德赛微电子技术有限公司 | 一种网络交换芯片可识别流表的智能匹配方法 |
US11102053B2 (en) | 2017-12-05 | 2021-08-24 | Cisco Technology, Inc. | Cross-domain assurance |
CN108256045A (zh) * | 2018-01-12 | 2018-07-06 | 福建星瑞格软件有限公司 | 实时流数据的结构化解析、流计算的方法及计算机设备 |
US10873509B2 (en) | 2018-01-17 | 2020-12-22 | Cisco Technology, Inc. | Check-pointing ACI network state and re-execution from a check-pointed state |
US10572495B2 (en) | 2018-02-06 | 2020-02-25 | Cisco Technology Inc. | Network assurance database version compatibility |
US10812315B2 (en) | 2018-06-07 | 2020-10-20 | Cisco Technology, Inc. | Cross-domain network assurance |
US11019027B2 (en) | 2018-06-27 | 2021-05-25 | Cisco Technology, Inc. | Address translation for external network appliance |
US10911495B2 (en) | 2018-06-27 | 2021-02-02 | Cisco Technology, Inc. | Assurance of security rules in a network |
US11218508B2 (en) | 2018-06-27 | 2022-01-04 | Cisco Technology, Inc. | Assurance of security rules in a network |
US11044273B2 (en) | 2018-06-27 | 2021-06-22 | Cisco Technology, Inc. | Assurance of security rules in a network |
US10659298B1 (en) | 2018-06-27 | 2020-05-19 | Cisco Technology, Inc. | Epoch comparison for network events |
US10904070B2 (en) | 2018-07-11 | 2021-01-26 | Cisco Technology, Inc. | Techniques and interfaces for troubleshooting datacenter networks |
US10826770B2 (en) | 2018-07-26 | 2020-11-03 | Cisco Technology, Inc. | Synthesis of models for networks using automated boolean learning |
US10616072B1 (en) | 2018-07-27 | 2020-04-07 | Cisco Technology, Inc. | Epoch data interface |
CN109450798B (zh) * | 2018-12-13 | 2022-07-12 | 郑州云海信息技术有限公司 | 路由表信息的管理方法和计算机可读存储介质 |
US11470009B2 (en) * | 2019-10-18 | 2022-10-11 | Arista Networks, Inc. | Implementing multi-table OpenFlow using a parallel hardware table lookup architecture |
CN111131050A (zh) * | 2019-12-31 | 2020-05-08 | 盛科网络(苏州)有限公司 | 流表的匹配方法及装置 |
CN114726788B (zh) * | 2022-05-06 | 2024-02-02 | 深圳星云智联科技有限公司 | 应用于dpu的报文传输方法及相关装置 |
CN114978809B (zh) * | 2022-06-23 | 2024-01-12 | 惠州华阳通用电子有限公司 | 一种车载以太网vlan节点配置方法 |
CN117834461A (zh) * | 2022-09-28 | 2024-04-05 | 中兴通讯股份有限公司 | 业务数据处理方法、设备及计算机可读存储介质 |
CN117041147B (zh) * | 2023-10-08 | 2024-02-23 | 井芯微电子技术(天津)有限公司 | 智能网卡设备、主机设备和方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2262209C2 (ru) * | 1998-11-09 | 2005-10-10 | Каналь+Сосьетэ Аноним | Передача информации, касающейся групп сервисов, в системе цифровой передачи |
WO2013093857A1 (en) * | 2011-12-22 | 2013-06-27 | Telefonaktiebolaget L M Ericsson (Publ) | Controller for flexible and extensible flow processing in software-defined networks |
EP2615781A1 (en) * | 2010-09-08 | 2013-07-17 | Nec Corporation | Switching system, switching control method, and memory medium |
EP2690831A1 (en) * | 2011-03-23 | 2014-01-29 | Nec Corporation | Communication control system, switch node, and communication control method |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7826364B1 (en) * | 2006-02-09 | 2010-11-02 | Verizon Services Corp. | Dynamic service-aware flow control in packet networks |
US7583677B1 (en) * | 2006-11-03 | 2009-09-01 | Juniper Networks, Inc. | Dynamic flow-based multi-path load balancing with quality of service assurances |
US8804710B2 (en) | 2008-12-29 | 2014-08-12 | Juniper Networks, Inc. | System architecture for a scalable and distributed multi-stage switch fabric |
US8154996B2 (en) | 2008-09-11 | 2012-04-10 | Juniper Networks, Inc. | Methods and apparatus for flow control associated with multi-staged queues |
WO2011043379A1 (ja) * | 2009-10-06 | 2011-04-14 | 日本電気株式会社 | ネットワークシステムとコントローラと方法とプログラム |
JP2012128282A (ja) * | 2010-12-16 | 2012-07-05 | Sanyo Electric Co Ltd | 投写型映像表示装置 |
WO2012096131A1 (ja) | 2011-01-13 | 2012-07-19 | 日本電気株式会社 | ネットワークシステム、及び経路制御方法 |
US20130223226A1 (en) | 2012-02-29 | 2013-08-29 | Dell Products, Lp | System and Method for Providing a Split Data Plane in a Flow-Based Switching Device |
JP5814830B2 (ja) * | 2012-03-05 | 2015-11-17 | Kddi株式会社 | フロー単位パケット転送のための宛先検索装置および検索方法 |
CN102685006A (zh) * | 2012-05-03 | 2012-09-19 | 中兴通讯股份有限公司 | 一种转发数据报文的方法及装置 |
WO2013180207A1 (ja) * | 2012-05-31 | 2013-12-05 | 日本電気株式会社 | 制御装置、通信システム、スイッチ制御方法及びプログラム |
CN103703726B (zh) | 2012-06-29 | 2017-04-26 | 华为技术有限公司 | 数据报文的控制方法、设备及系统 |
CN102843299A (zh) * | 2012-09-12 | 2012-12-26 | 盛科网络(苏州)有限公司 | 基于TCAM实现Openflow多级流表的方法及系统 |
US20140146664A1 (en) | 2012-11-26 | 2014-05-29 | Level 3 Communications, Llc | Apparatus, system and method for packet switching |
CN103905311B (zh) | 2012-12-28 | 2017-02-22 | 华为技术有限公司 | 流表匹配方法和装置以及交换机 |
CN103152264B (zh) | 2013-02-25 | 2015-11-25 | 北京百度网讯科技有限公司 | Openflow网络和IP网络互连通信方法及Openflow子网边缘交换机 |
US8964752B2 (en) * | 2013-02-25 | 2015-02-24 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for flow table lookup parallelization in a software defined networking (SDN) system |
WO2014131429A1 (en) * | 2013-02-26 | 2014-09-04 | Telefonaktiebolaget L M Ericsson (Publ) | Traffic recovery in openflow networks |
CA2903422A1 (en) * | 2013-03-06 | 2014-09-12 | Seiji Oikawa | Communication system, switch, control apparatus, packet processing method, and program |
US20160065427A1 (en) * | 2013-03-28 | 2016-03-03 | Nec Corporation | Communication system, control apparatus, information collection method, and program |
CN103259718B (zh) * | 2013-04-18 | 2016-12-28 | 华为技术有限公司 | 一种流表转换方法和装置 |
JPWO2014192259A1 (ja) * | 2013-05-27 | 2017-02-23 | 日本電気株式会社 | ネットワーク制御装置、ネットワーク制御方法、プログラムおよび通信システム |
CN103428094B (zh) | 2013-08-12 | 2016-08-17 | 杭州华三通信技术有限公司 | 开放流OpenFlow系统中的报文转发方法及装置 |
US9602398B2 (en) * | 2013-09-15 | 2017-03-21 | Nicira, Inc. | Dynamically generating flows with wildcard fields |
US9363180B2 (en) * | 2013-11-04 | 2016-06-07 | Telefonkatiebolaget L M Ericsson (Publ) | Service chaining in a cloud environment using Software Defined Networking |
CN103685033B (zh) * | 2013-12-19 | 2017-01-04 | 武汉邮电科学研究院 | Sdn架构中支持分组交换和电路交换的通用流表及方法 |
CN103888369B (zh) | 2014-04-10 | 2019-02-05 | 广州市高科通信技术股份有限公司 | 以太网通信方法、系统和sdn交换机 |
-
2014
- 2014-10-27 JP JP2017519755A patent/JP6490205B2/ja active Active
- 2014-10-27 EP EP14896752.4A patent/EP3142310B1/en active Active
- 2014-10-27 CA CA2950206A patent/CA2950206C/en active Active
- 2014-10-27 AU AU2014399458A patent/AU2014399458B2/en active Active
- 2014-10-27 RU RU2017100992A patent/RU2651143C1/ru active
- 2014-10-27 WO PCT/CN2014/089530 patent/WO2016000362A1/zh active Application Filing
- 2014-10-27 CN CN201480079888.0A patent/CN106664261B/zh active Active
- 2014-10-27 KR KR1020167035418A patent/KR101886291B1/ko active IP Right Grant
-
2016
- 2016-12-29 US US15/394,352 patent/US10305777B2/en active Active
-
2019
- 2019-04-17 US US16/386,655 patent/US10659342B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2262209C2 (ru) * | 1998-11-09 | 2005-10-10 | Каналь+Сосьетэ Аноним | Передача информации, касающейся групп сервисов, в системе цифровой передачи |
EP2615781A1 (en) * | 2010-09-08 | 2013-07-17 | Nec Corporation | Switching system, switching control method, and memory medium |
EP2690831A1 (en) * | 2011-03-23 | 2014-01-29 | Nec Corporation | Communication control system, switch node, and communication control method |
WO2013093857A1 (en) * | 2011-12-22 | 2013-06-27 | Telefonaktiebolaget L M Ericsson (Publ) | Controller for flexible and extensible flow processing in software-defined networks |
Also Published As
Publication number | Publication date |
---|---|
EP3142310A1 (en) | 2017-03-15 |
AU2014399458B2 (en) | 2018-01-18 |
EP3142310B1 (en) | 2022-06-15 |
US10659342B2 (en) | 2020-05-19 |
KR101886291B1 (ko) | 2018-09-06 |
US10305777B2 (en) | 2019-05-28 |
KR20170009927A (ko) | 2017-01-25 |
JP2017520214A (ja) | 2017-07-20 |
CN106664261A (zh) | 2017-05-10 |
US20190245772A1 (en) | 2019-08-08 |
WO2016000362A1 (zh) | 2016-01-07 |
CA2950206C (en) | 2019-03-05 |
CA2950206A1 (en) | 2016-01-07 |
AU2014399458A1 (en) | 2016-12-15 |
EP3142310A4 (en) | 2017-04-26 |
US20170111259A1 (en) | 2017-04-20 |
CN106664261B (zh) | 2019-10-25 |
JP6490205B2 (ja) | 2019-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2651143C1 (ru) | Способ, устройство и система для конфигурирования записей потоков | |
US11258710B2 (en) | Network traffic load balancing | |
US10148492B2 (en) | Data center bridging network configuration and management | |
EP2904745B1 (en) | Method and apparatus for accelerating forwarding in software-defined networks | |
US10230825B2 (en) | Dynamic port type detection | |
US10122623B2 (en) | Control device and control method in SDN network | |
CN106878194B (zh) | 一种报文处理方法和装置 | |
US9590922B2 (en) | Programmable and high performance switch for data center networks | |
WO2021098425A1 (zh) | 配置业务的服务质量策略方法、装置和计算设备 | |
WO2018121397A1 (zh) | 一种网络流量控制方法以及交换机设备 | |
KR20160042441A (ko) | 애플리케이션-인식 네트워크 관리 | |
CN103888351A (zh) | 在基于多路径路由的网络中管理多个会话的方法及装置 | |
US20150229574A1 (en) | Communication system, communication method, information processing apparatus, communication control method, and program | |
RU2602333C2 (ru) | Сетевая система, способ обработки пакетов и носитель записи | |
US8553539B2 (en) | Method and system for packet traffic congestion management | |
US20150381775A1 (en) | Communication system, communication method, control apparatus, control apparatus control method, and program | |
US20150304200A1 (en) | Traffic information collection system and collection control node | |
US20240015108A1 (en) | Method and system for efficient input/output transfer in network devices | |
CN110581799A (zh) | 一种业务流的转发方法及装置 | |
US10367725B2 (en) | Network programming | |
TWI572169B (zh) | 封包交換系統、方法及其非暫態電腦可讀取記錄媒體 | |
US20230421473A1 (en) | Method and system for efficient input/output transfer in network devices |