RU2687215C1 - Способ и устройство для передачи информации о функциях коммутатора openflow - Google Patents

Способ и устройство для передачи информации о функциях коммутатора openflow Download PDF

Info

Publication number
RU2687215C1
RU2687215C1 RU2017145121A RU2017145121A RU2687215C1 RU 2687215 C1 RU2687215 C1 RU 2687215C1 RU 2017145121 A RU2017145121 A RU 2017145121A RU 2017145121 A RU2017145121 A RU 2017145121A RU 2687215 C1 RU2687215 C1 RU 2687215C1
Authority
RU
Russia
Prior art keywords
functions
ports
port
openflow
information
Prior art date
Application number
RU2017145121A
Other languages
English (en)
Inventor
Минь СЯО
Юй ВАН
Цзюньхуэй ЧЗАН
Бо У
Original Assignee
ЗетТиИ Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ЗетТиИ Корпорейшн filed Critical ЗетТиИ Корпорейшн
Application granted granted Critical
Publication of RU2687215C1 publication Critical patent/RU2687215C1/ru

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/111Switch interfaces, e.g. port details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Изобретение относится к области вычислительной техники. Техническим результатом является обеспечение передачи в контроллер OpenFlow информации о портах коммутатора OpenFlow. Раскрыт способ передачи информации о функциях коммутатора OpenFlow, включающий: после приема, коммутатором OpenFlow, сообщения с запросом информации о портах, переданного контроллером OpenFlow, передачу идентификаторов групп портов для тех групп портов, которым принадлежит каждый из портов коммутатора OpenFlow, в контроллер OpenFlow, или передачу идентификаторов групп портов для тех групп портов, которым принадлежит каждый из портов, заданных контроллером OpenFlow, в контроллер OpenFlow, при этом группы портов получают группированием портов с различными функциями в коммутаторе OpenFlow на основании одного или более типа функций, и каждая из групп портов имеет идентификатор группы портов. 3 н. и 16 з.п. ф-лы, 7 ил.

Description

Область техники
Настоящее изобретение относится к технологиям программно-определяемых сетей (Software Defined Network, SDN), однако без ограничения ими. А именно, настоящее изобретение относится к способу и устройству для передачи информации о функциях коммутатора OpenFlow.
Предпосылки создания изобретения
В архитектуре, применяемой в сетях OpenFlow ("открытый поток"), плоскость управления отделена от плоскости коммутации. Фиг. 1 представляет собой эскизную блок-схему архитектуры компонентов сети OpenFlow. В соответствии с фиг. 1, плоскость управления сети OpenFlow реализована при помощи контроллера OpenFlow, а плоскость коммутации сети OpenFlow реализована при помощи коммутатора OpenFlow, при этом между контроллером OpenFlow и коммутатором OpenFlow функционирует протокол OpenFlow. Контроллер OpenFlow, с помощью протокола OpenFlow, по каналу OpenFlow передает в коммутатор OpenFlow таблицу потоков и групповую таблицу, благодаря чему решаются задачи управления коммутацией данных, а также удается разнести коммутацию данных и управление маршрутизацией.
Согласно правилам спецификации протокола OpenFlow, поскольку различные коммутаторы OpenFlow могут обладать различными функциями, после того, как контроллер OpenFlow установит соединение управления с коммутатором OpenFlow, контроллер OpenFlow получает информацию о функциях различных типов, которыми обладает плоскость коммутации, при помощи передачи множества различных типов сообщений с запросом информации о функциях. Упомянутые множество типов сообщений с запросом информации о функциях включают сообщения с запросом информации о функциях коммутатора, сообщения с запросом информации о функциях таблицы, сообщения с запросами информации о групповых функциях и т.п. После приема сообщения с запросом информации о функциях любого типа, переданного контроллером OpenFlow, коммутатор OpenFlow отвечает контроллеру OpenFlow соответствующим типом сообщения с уведомлением о функциях, которые включают сообщения с уведомлением о функциях коммутатора, сообщения с уведомлением о функциях таблицы и сообщения с уведомлением о групповых функциях и т.п. Одна или более передаваемых характеристик коммутатора OpenFlow включают максимальное количество таблиц потоков, максимальную емкость каждой из таблиц потоков, поддерживаемые типы групповых таблиц, максимальную емкость групповых таблиц каждого типа, тип поля соответствия, поддерживаемый каждым уровнем таблиц потоков, тип операций, поддерживаемый каждым уровнем таблиц потоков и т.п. При этом для получения информации о портах коммутатора OpenFlow контроллер OpenFlow также передает в коммутатор OpenFlow сообщение с запросом информации о портах, в результате чего он может получить такую информацию о портах как номер порта, скорость порта, состояние порта и аналогичную информацию для всех портов коммутатора OpenFlow.
На существующем уровне техники часто применяют оверлейные сети. Фиг. 2 представляет собой эскизную блок-схему структуры оверлейной сети. В соответствии с иллюстрацией, оверлейная сеть содержит сетевые узлы двух различных типов, а именно, краевые узлы и промежуточные узлы. Клиентские устройства, чтобы получить доступ к оверлейной сети, соединяются с краевыми узлами. Краевые узлы добавляют ко всем информационным пакетам, попадающим в оверлейную сеть, внешнюю инкапсулирующую оболочку. Внешняя инкапсулирующая оболочка содержит внешние адреса отправления и назначения, необходимые для коммутации промежуточных узлов. В данном примере внешние адреса отправления указывают на локальные краевые узлы, добавляющие инкапсулирующую оболочку, а внешние адреса назначения указывают на удаленные краевые узлы. После приема информационных пакетов, к которым были добавлены инкапсулирующие оболочки, удаленные краевые узлы сначала отбрасывают из этих пакетов инкапсулирующие оболочки и затем пересылают информационные пакеты с отброшенными инкапсулирующими оболочками в подключенные пользовательские устройства.
Сегодня технологии оверлейных сетей часто применяют в сетях центров обработки данных, при этом значительное количество серверов центров обработки данных, используемых в качестве пользовательских устройств, соединены друг с другом с помощью технологии оверлейных сетей. На существующем уровне техники известны несколько протоколов инкапсуляции оверлейных сетей, как стандартизированных, так и еще не прошедших стандартизации. Среди таких протоколов: инкапсуляция с помощью виртуальной расширяемой локальной сети (Local Area Network, VxLAN), описанная в рабочем предложении (Request For Comments) 7348 Инженерного совета Интернета (Internet Engineering Task Force, IETF), инкапсуляция с помощью технологии прозрачной взаимосвязи множества линий связи (Transparent Interconnection of Lots of Links, Trill), описанная в рабочем предложении RFC 6325, стандартная инкапсуляция протокола пользовательских датаграмм (User Datagram Protocol, UDP), описанная в документе drafts-ietf-nvo3-gue IETF, инкапсуляция с помощью технологии магистрального моста провайдера (Backbone Bridging, РВВ), описанная в стандарте 802.1 ah, принятом Института инженеров электротехники и электроники (Institute of Electrical and Electronics Engineers, IEEE) и т.п. Серверные ресурсы датацентра могут сдаваться в аренду некоторому количеству различных арендаторов, при этом различные арендаторы могут требовать использования различных протоколов инкапсуляции оверлейных сетей для реализации соединений между серверами, принадлежащими арендаторам. К примеру, арендатору А может быть необходимо применение VxLAN-инкапсуляции, арендатор В может требовать применения Trill-инкапсуляции, арендатору С может быть необходима GUE-инкапсуляция, а арендатору D - РВВ-инкапсуляция. Чтобы описанные выше требования могли быть удовлетворены, различные линейные карты в коммутаторе OpenFlow, который применяют в качестве узла оверлейной сети и который содержит множество линейных карт, должны поддерживать различные протоколы инкапсуляции оверлейной сети, например, линейная карта А может поддерживать инкапсуляцию VxLAN, линейная карта В может поддерживать Trill-инкапсуляюцию, линейная карта С может поддерживать GUE-инкапсуляцию, линейная карта D может поддерживать РВВ-инкапсуляцию и т.п. На существующем уровне техники краевые узлы, поддерживающие протокол OpenFlow в оверлейной сети, не способны передавать в контроллер OpenFlow информацию о функциях различных линейных карт в соответствующих узлах.
На существующем уровне техники проблема, связанная с невозможностью передачи информации о различных функциях различных линейных карт коммутатора OpenFlow в контроллер OpenFlow, еще не была успешно решена.
Сущность изобретения
Ниже будет кратко описана сущность настоящего изобретения. Данное краткое описание не следует рассматривать как ограничивающее объем правовой защиты настоящего изобретения.
В одном из вариантов осуществления настоящего изобретения предложен способ передачи информации о функциях коммутатора OpenFlow, позволяющий реализовать передачу информации о функциях различных линейных карт из состава коммутатора OpenFlow в контроллер OpenFlow, соответственно.
В одном из вариантов осуществления настоящего изобретения предложен способ передачи информации о функциях коммутатора OpenFlow, включающий:
когда в коммутаторе OpenFlow становится известно, что контроллеру OpenFlow необходимо запросить информацию о портах, передачу идентификаторов групп портов для тех групп портов, которым принадлежит каждый из портов коммутатора OpenFlow или каждый из портов, запрашиваемых контроллером OpenFlow, в контроллер OpenFlow, при этом группы портов получают группированием портов с различными функциями в коммутаторе OpenFlow на основании одного или более типа функций, и при этом каждая из групп портов имеет идентификатор группы портов.
В одном из примеров осуществления настоящего изобретения, когда в коммутаторе OpenFlow становится известно, что контроллеру OpenFlow необходимо запросить информацию о функциях для первого типа функций, способ дополнительно включает:
передачу, коммутатором OpenFlow, идентификатора группы портов для каждой из групп портов, полученных группированием на основании первого типа функций, в контроллер OpenFlow.
В одном из примеров осуществления настоящего изобретения, перед выполнением предложенного способа выполняют следующие шаги:
группирование, коммутатором OpenFlow, портов с различными функциями на основании одного или более типа функций и назначение идентификатора группы портов каждой группе портов.
В одном из примеров осуществления настоящего изобретения идентификаторы групп портов для тех групп портов, которым принадлежит каждый из портов, включают:
количество имеющихся идентификаторов групп портов и значение каждого из идентификаторов групп портов.
В одном из примеров осуществления настоящего изобретения типы функций включают одно из следующего:
функции таблицы или групповые функции.
В одном из примеров осуществления настоящего изобретения один или более типов функций, на основании которых выполняют группирование, включают один или более типов функций, для которых функции в различных портах коммутатора OpenFlow неодинаковы.
В одном из примеров осуществления настоящего изобретения диапазоны значений идентификаторов групп портов, соответствующих различным типам функций, не пересекаются.
В одном из примеров осуществления настоящего изобретения передача, коммутатором OpenFlow, идентификатора группы портов для каждой из групп портов, полученных группированием на основании первого типа функций, в контроллер OpenFlow включает:
ответную передачу, коммутатором OpenFlow, в контроллер OpenFlow, N отчетных сообщений с информацией о функциях для первого типа функций, где N - количество групп портов, полученных группированием на основании первого типа функций, и при этом каждое отчетное сообщение с информацией о функциях содержит идентификатор группы портов, и при этом идентификатор группы портов, содержащийся в каждом отчетном сообщении с информацией о функциях, отличается от остальных и соответствует идентификатору группы портов для группы портов, полученной группированием на основании первого типа функций.
В одном из примеров осуществления настоящего изобретения передача, коммутатором OpenFlow, идентификатора группы портов для каждой из групп портов, полученных группированием на основании первого типа функций, в контроллер OpenFlow включает:
ответную передачу, коммутатором OpenFlow, в контроллер OpenFlow одного отчетного сообщения с информацией о функциях для первого типа функций, при этом информация о функциях, содержащаяся в отчетном сообщении с информацией о функциях, содержит идентификатор или идентификаторы одной или более групп портов, полученных группированием на основании первого типа функций.
В одном из вариантов осуществления настоящего изобретения предложен также машиночитаемый информационный носитель, на котором хранят машиноисполняемые инструкции, при этом машиноисполняемые инструкции применяют для исполнения любых из способов, описанных в данном документе.
Предложено также устройство для передачи информации о функциях коммутатора OpenFlow, находящееся в составе коммутатора OpenFlow и включающее:
первый модуль отчетов, сконфигурированный, когда становится известно о том, что контроллеру OpenFlow необходимо запросить информацию о портах, для передачи идентификаторов групп портов для тех групп портов, которым принадлежит каждый из портов коммутатора OpenFlow или каждый из портов, запрашиваемых контроллером OpenFlow, в контроллер OpenFlow, при этом группы портов получают группированием портов с различными функциями в коммутаторе OpenFlow, на основании одного или более типа функций, и при этом каждая из групп портов имеет идентификатор группы портов.
В одном из примеров осуществления настоящего изобретения устройство дополнительно включает:
второй модуль отчетов, сконфигурированный, когда становится известно о том, что контроллеру OpenFlow необходимо запросить информацию о функциях для первого типа функций, для передачи идентификатора группы портов каждой из групп портов, полученных группированием на основании первого типа функций, в контроллер OpenFlow.
В одном из примеров осуществления настоящего изобретения устройство дополнительно включает:
модуль группирования, сконфигурированный для группирования, коммутатором OpenFlow, портов с различными функциями на основании одного или более типа функций, и для назначения идентификатора группы портов каждой группе портов.
В одном из примеров осуществления настоящего изобретения идентификаторы групп портов для тех групп портов, которым принадлежит каждый из портов, включают:
количество имеющихся идентификаторов групп портов и значение каждого из идентификаторов групп портов.
В одном из примеров осуществления настоящего изобретения типы функций включают одно из следующего:
функции таблицы или групповые функции.
В одном из примеров осуществления настоящего изобретения один или более типов функций, на основании которых выполняют группирование, включают один или более типов функций, для которых функции в различных портах коммутатора OpenFlow неодинаковы.
В одном из примеров осуществления настоящего изобретения диапазоны значений идентификаторов групп портов, соответствующих различным типам функций, не пересекаются.
В одном из примеров осуществления настоящего второй модуль отчетов сконфигурирован для передачи идентификатора группы портов для каждой из групп портов, полученных группированием на основании первого типа функций, в контроллер OpenFlow, следующим образом:
первый модуль отчетов выполняет ответную передачу, в контроллер OpenFlow, N отчетных сообщений с информацией о функциях для первого типа функций, где N - количество групп портов, полученных группированием на основании первого типа функций, и при этом каждое отчетное сообщение с информацией о функциях содержит идентификатор группы портов, и при этом идентификатор группы портов, содержащийся в каждом отчетном сообщении с информацией о функциях, отличается от остальных и соответствует идентификатору группы портов для группы портов, полученной группированием на основании первого типа функций.
В одном из примеров осуществления настоящего второй модуль отчетов сконфигурирован для передачи идентификатора группы портов для каждой из групп портов, полученных группированием на основании первого типа функций, в контроллер OpenFlow, следующим образом:
второй модуль отчетов выполняет ответную передачу, в контроллер OpenFlow одного отчетного сообщения с информацией о функциях для первого типа функций, при этом информация о функциях, содержащаяся в отчетном сообщении с информацией о функциях, содержит идентификатор или идентификаторы одной или более групп портов, полученных группированием на основании первого типа функций.
В настоящем изобретении предложена схема передачи информации о функциях коммутатора OpenFlow. В соответствии с предложенной схемой передачи информации о функциях коммутатора OpenFlow, коммутатор OpenFlow группирует порты с различными функциями на основании одного или более типа функций и назначает каждой группе портов идентификатор группы портов. Затем каждый идентификатор группы портов добавляют, соответственно, в информацию о портах и в информацию о функциях различных типов, которая передается коммутатором OpenFlow в контроллер OpenFlow. Благодаря этому коммутатор OpenFlow способен передавать информацию о функциях каждой группы портов для различных типов функций в контроллер OpenFlow, соответственно, что значительно повышает гибкость передачи информации о функциях коммутатора OpenFlow и дает возможность поддерживать передачу информации о функциях коммутатора OpenFlow с точностью до группы портов.
Другие отличительные признаки и преимущества настоящего изобретения можно найти в приведенном ниже описании, при этом они могут как следовать из этого описания, так и быть получены в результате практической реализации настоящего изобретения. Цель и дополнительные преимущества настоящего изобретения могут быть реализованы и получены при помощи структуры, образованной настоящим описанием, формулой изобретения и приложенными чертежами.
После изучения приложенных чертежей и подробного описания настоящего изобретения могут быть поняты другие его аспекты.
Краткое описание чертежей
Фиг. 1 представляет собой эскизную блок-схему архитектуры компонентов сети OpenFlow на существующем уровне техники.
Фиг. 2 представляет собой эскизную блок-схему структуры оверлейной сети на существующем уровне техники.
Фиг. 3 представляет собой блок-схему алгоритма для способа передачи информации о функциях коммутатора OpenFlow в соответствии с первым вариантом осуществления настоящего изобретения.
Фиг. 4 представляет собой эскизную блок-схему одного из сценариев применения, в котором различные линейные карты поддерживают различные протоколы инкапсуляции оверлейной сети, в соответствии с первым примером реализации настоящего изобретения.
Фиг. 5 представляет собой эскизную блок-схему одного из сценариев применения, в котором различные линейные карты поддерживают различные типы групп, в соответствии со вторым примером реализации настоящего изобретения.
Фиг. 6 представляет собой эскизную блок-схему одного из сценариев применения, в котором, одновременно, различные линейные карты поддерживают различные протоколы инкапсуляции оверлейной сети, и различные линейные карты поддерживают различные типы групп, в соответствии с третьим примером реализации настоящего изобретения.
Фиг. 7 представляет собой эскизную блок-схему устройства передачи информации о функциях коммутатора OpenFlow в соответствии со вторым вариантом осуществления настоящего изобретения.
Подробное описание изобретения
Ниже, в комбинации с приложенными чертежами и конкретными вариантами осуществления настоящего изобретения, будут более подробно рассмотрена предложенная техническая схема.
Следует отметить, что в объеме настоящего изобретения, при отсутствии противоречий, различные варианты осуществления настоящего изобретения и их отличительные признаки могут комбинироваться друг с другом. На блок-схемах алгоритмов показаны конкретные логические последовательности операций, однако в некоторых случаях шаги, проиллюстрированные на чертежах или описанные в данном документе, могут выполняться в отличающемся порядке.
В первом варианте осуществления настоящего изобретения предложен способ передачи информации о функциях коммутатора OpenFlow. В соответствии с иллюстрацией фиг. 3, способ включает шаги А-С, описанные ниже.
На шаге А порты с различными функциям в коммутаторе OpenFlow группируют на основании одного или более типа функций, и каждой группе портов назначают идентификатор.
Шаг А, который может быть необязательным (шаг А на фиг. 3 показан прерывистой линией, что означает его опциональность), при этом он может выполняться после включения питания коммутатора OpenFlow, или же состояние группирования и назначенные идентификаторы групп портов могут быть сохранены заранее в коммутаторе OpenFlow в виде конфигурационной информации.
Типы функций включают по меньшей мере одно из следующего:
функции таблицы или групповые функции.
В одном из примеров осуществления настоящего изобретения шаг А может выполняться коммутатором OpenFlow, однако без ограничения настоящего изобретения в данном отношении. В других схемах реализации настоящего изобретения шаг А может также выполняться в форме ручного предварительного конфигурирования, или шаг А может выполняться при помощи других устройств, вместо коммутатора OpenFlow.
В одном из примеров осуществления настоящего изобретения, если функции порта меняются, может инициироваться повторное выполнение шага А, то есть порты заново перегруппируют и заново назначают идентификаторы групп портов. Альтернативно, шаг А может выполняться периодически, - это гарантирует, что состояние группирования будет своевременно обновляться в случае изменений функций портов.
Поскольку в протоколе OpenFlow определены множество различных типов функций, и каждый из портов может быть помечен идентификатором группы портов, когда порты с различными функциями группируют по некоторому типу функций, то каждый из портов может быть помещен одним или более идентификаторами групп портов.
В одном из примеров осуществления настоящего изобретения, если все порты имеют одинаковые функции для заданного типа функций, порты не должны группироваться по этому типу функций, и порты не должны помечаться идентификатором группы портов для этого типа функций, то есть упомянутые в шаге А одна или боле типов функций ограничены только теми одним или более типами функций, для которых функции в различных портах коммутатора OpenFlow неодинаковы. К примеру, если функции таблицы, поддерживаемые всеми линейными картами коммутатора OpenFlow, идентичны, порты не следует группировать по типу «функции таблицы», и не нужно присваивать им идентификаторы групп портов.
В других схемах реализации настоящего изобретения шаг А может выполняться также для всех из упомянутых одного или более типов функций, независимо от того, имеют ли все порты в коммутаторе OpenFlow одинаковые функции для каких-либо типов функций или нет.
Когда порт помечают несколькими идентификаторами групп портов, поскольку каждый идентификатор группы портов, которыми помечен порт, относится к собственному типу функций, то чтобы иметь возможность различать типы функций, диапазоны значений идентификаторов групп портов, соответствующих различным типам функций, не должны пересекаться друг с другом.
На шаге В, когда становится известно, что контроллеру OpenFlow необходимо запросить информацию о портах, коммутатор OpenFlow передает идентификаторы групп портов для тех групп портов, которым принадлежит каждый из портов коммутатора OpenFlow или каждый из портов, запрашиваемых контроллером OpenFlow, в контроллер OpenFlow, при этом группы портов получают группированием портов с различными функциями в коммутаторе OpenFlow, на основании одного или более типа функций, и при этом каждая из групп портов имеет идентификатор группы портов.
На этом шаге, после приема, коммутатором OpenFlow, сообщения с запросом информации о портах, переданного контролером OpenFlow, коммутатор OpenFlow отвечает контроллеру OpenFlow отчетным сообщением с информацией о портах, которое содержит идентификаторы групп портов для каждой группы портов, которой принадлежит каждый порт коммутатора OpenFlow или каждый порт из сообщения с запросом информации о портах.
Информация о портах для каждого порта, передаваемая коммутатором OpenFlow в контроллер OpenFlow, содержит один или более идентификаторов групп портов, при этом упомянутые в шаге А одна или боле типов функций ограничены только теми одним или более типами функций, для которых функции в различных портах коммутатора OpenFlow неодинаковы, и при этом каждый идентификатор группы портов соответствует одной из функций одного из типов, для которого в различных портах функции неодинаковы.
В одном из примеров осуществления настоящего изобретения то, что отчетное сообщение с информацией о портах содержит идентификаторы групп портов для портов для тех групп портов, которым принадлежит каждый из портов, означает следующее:
отчетное сообщение с информацией о портах содержит информацию о портах для одного или более портов в коммутаторе OpenFlow, при этом информация о портах для каждого порта включает количество идентификаторов групп портов, содержащихся в информации о портах, и значения каждого из идентификаторов групп портов.
На шаге С, когда в коммутаторе OpenFlow становится известно о том, что контроллеру OpenFlow необходимо запросить информацию о функциях для первого типа функций, коммутатор OpenFlow передает идентификатор группы портов для каждой из групп портов, полученных группированием на основании первого типа функций, в контроллер OpenFlow.
На этом шаге, после приема, коммутатором OpenFlow, сообщения с запросом информации о функциях для первого типа функций, переданного контроллером OpenFlow, коммутатор OpenFlow отвечает контроллеру OpenFlow отчетным сообщением с информацией о функциях для первого типа функций, при этом отчетное сообщение с информацией о функциях содержит идентификаторы групп портов для каждой из групп портов, полученных группированием на основании первого типа функций.
Соответственно, типы функций, без ограничения перечисленным, могут включать одно из следующего:
информацию о функциях таблицы и информацию о групповых функциях.
Когда контроллер OpenFlow передает сообщение с запросом информации о функциях таблицы, отчетное сообщение с информацией о функциях, которым отвечает коммутатор OpenFlow, также содержит информацию о функциях таблицы; и когда контроллер OpenFlow передает сообщение с запросом информации о групповых функциях, отчетное сообщение с информацией о функциях, которым отвечает коммутатор OpenFlow, также содержит информацию о групповых функциях.
В одном из примеров осуществления настоящего изобретения, когда упомянутые в шаге А один или боле типов функций ограничены только теми одним или более типами функций, для которых функции в различных портах коммутатора OpenFlow неодинаковы, в отчетном сообщении с информацией о функциях идентификаторы группы портов будут содержаться в информации о функциях только для тех типов функций, для которых функции в различных портах коммутатора OpenFlow отличаются, то есть, информация о функциях для каждого типа функций, для которого имеются отличия в функциях в различных портах, передаваемая коммутатором OpenFlow в контроллер OpenFlow, содержит один или более идентификаторов групп портов.
В одном из примеров осуществления настоящего изобретения различную информация о функциях, соответствующую различным значениям идентификаторов групп портов, содержащихся в информации о функциях, передают, соответственно, одним из конкретных методов реализации. Такой конкретный метод реализации может подразумевать ответ множеством отчетных сообщений с информацией о функциях, соответственно, или может подразумевать разбиение одного отчетного сообщения с информацией о функциях на несколько частей, содержащих различную информацию о функциях.
Ответ коммутатора OpenFlow в контроллер OpenFlow отчетным сообщением с информацией о функциях для первого типа функций может включать:
ответную передачу, коммутатором OpenFlow, в контроллер OpenFlow, N отчетных сообщений с информацией о функциях для первого типа функций, где N -количество групп портов, полученных группированием на основании первого типа функций, и при этом каждое отчетное сообщение с информацией о функциях содержит один идентификатор группы портов, и при этом идентификатор группы портов, содержащийся в каждом отчетном сообщении с информацией о функциях, отличается от остальных и соответствует идентификатору группы портов для группы портов, полученной группированием на основании первого типа функций.
или ответную передачу, коммутатором OpenFlow, в контроллер OpenFlow одного отчетного сообщения с информацией о функциях для первого типа функций, при этом информация о функциях, содержащаяся в отчетном сообщении с информацией о функциях включает идентификатор или идентификаторы одной или более групп портов, полученных группированием на основании первого типа функций.
В данном варианте осуществления настоящего изобретения идентификаторы групп портов, содержащиеся в информации о функциях, связаны с идентификаторами групп портов, содержащихся в информации о портах, таким образом, что для них выбраны одинаковые значения, то есть, коммутатор OpenFlow может не только передавать информацию о состоянии группирования портов, но также и информацию о функциях каждой группы портов, соответственно, в контроллер OpenFlow.
Между описанными выше шагами В и С нет обязательного порядка следования. Шаг В может выполняться, когда будет принято сообщение с запросом информации о портах, переданное контроллером OpenFlow. Когда принято сообщение с запросом информации о функциях (например, сообщение с запросом о функциях таблицы и/или групповых функциях) для первого типа функций, переданное контроллером OpenFlow, может выполняться шаг С.
Первый пример реализации
Фиг. 4 представляет собой эскизную блок-схему одного из сценариев применения, в котором различные линейные карты поддерживают различные протоколы инкапсуляции оверлейной сети, в соответствии с первым примером реализации. В соответствии с фиг. 4 в данном примере реализации краевые узлы (здесь - коммутаторы OpenFlow) 41, 42, 43, 44, поддерживающие протокол OpenFlow в оверлейной сети, связаны, соответственно, с контроллером OpenFlow. Краевые узлы 41, 42, 43 и 44, соответственно, содержат линейную карту А1, которая поддерживает инкапсуляцию VxLAN, линейную карту В1, которая поддерживает Trill-инкапсуляцию, линейную карту С1, которая поддерживает GUE-инкапсуляцию и линейную карту D1, которая поддерживает РВВ-инкапсуляцию. В данном примере линейная карта А1 имеет порты 11, 12, 13, 14, линейная карта В1 имеет порты 15, 16, 17, 18, линейная карта С1 имеет порты 19, 110, 111, 112, а линейная карта D1 имеет порты 113, 114, 115, 116.
В данном примере реализации контроллер OpenFlow и краевые узлы, поддерживающие протокол OpenFlow в оверлейной сети, выполняют шаги S401-S403, описанные ниже.
На шаге S401 коммутаторы 41, 42, 43, 44 OpenFlow группируют порты с различными функциями по функциям таблицы и присваивают каждой группе портов идентификатор группы портов.
А именно, порты 11, 12, 13 и 14 линейной карты А1 становятся первой группой портов, и всем им присваивают первый идентификатор группы портов. Порты 15, 16, 17 и 18 линейной карты В1 становятся второй группой портов, и всем им присваивают второй идентификатор группы портов. Порты 19, 110, 111 и 112 линейной карты С1 становятся третьей группой портов, и всем им присваивают третий идентификатор группы портов. Порты 113, 114, 115 и 116 линейной карты D1 становятся четвертой группой портов, и всем им присваивают четвертый идентификатор группы портов. Значения первого, второго, третьего и четвертого идентификаторов групп портов отличают друг от друга.
На шаге S402, после приема сообщения с запросом информации о портах, переданного контроллером OpenFlow, коммутаторы 41, 42, 43, 44 OpenFlow отвечают контроллеру OpenFlow сообщениями с информацией о портах, которые содержат идентификаторы групп портов.
А именно, информация о портах для портов 11, 12, 13 и 14 линейной карты А1, передаваемая коммутаторами 41, 42, 43 и 44 OpenFlow, во всех случаях содержит первый идентификатор группы портов, передаваемая информация о портах для портов 15, 16, 17 и 18 линейной карты В1 во всех случаях содержит второй идентификатор группы портов, передаваемая информация о портах для портов 19, 110, 111 и 112 линейной карты С1 во всех случаях содержит третий идентификатор группы портов, а передаваемая информация о портах для портов 113, 114, 115 и 116 линейной карты D1 во всех случаях содержит четвертый идентификатор группы портов.
На шаге S403, после приема сообщения с запросом информации о функциях таблицы, переданного контроллером OpenFlow, коммутаторы 41, 42, 43, 44 OpenFlow отвечают контроллеру OpenFlow сообщениями с информацией о функциях таблицы, которые содержат идентификаторы групп портов.
А именно, информация о функциях таблицы для первой группы портов, передаваемая коммутаторами 41, 42, 43, 44 OpenFlow, содержит первый идентификатор группы портов и указывает на то, что первая группа портов поддерживает выполнение операции таблицы, представляющей собой инкапсуляцию/декапсуляцию VxLAN; передаваемая информация о функциях таблицы для второй группы портов содержит второй идентификатор группы портов и указывает на то, что вторая группа портов поддерживает выполнение операции таблицы, представляющей собой инкапсуляцию/декапсуляцию Trill; передаваемая информация о функциях таблицы для третьей группы портов содержит третий идентификатор группы портов и указывает на то, что третья группа портов поддерживает выполнение операции таблицы, представляющей собой инкапсуляцию/декапсуляцию GUE; и передаваемая информация о функциях таблицы для четвертой группы портов содержит четвертый идентификатор группы портов и указывает на то, что четвертая группа портов поддерживает выполнение операции таблицы, представляющей собой инкапсуляцию/декапсуляцию РВВ.
Описанные выше шаги S402 и S403 не обязательно должны иметь строгий порядок следования. Шаг S402 может быть выполнен после приема сообщения с запросом информации о портах, переданного контроллером OpenFlow. Шаг S403 может быть выполнен после приема сообщения с запросом информации о функциях таблицы, переданного контроллером OpenFlow.
Второй пример реализации
Фиг. 5 представляет собой эскизную блок-схему одного из сценариев применения, в котором различные линейные карты поддерживают различные типы групп, в соответствии со вторым примером реализации. В соответствии с фиг. 5 в данном примере реализации краевые узлы (здесь - коммутаторы OpenFlow) 51, 52, 53, 54, поддерживающие протокол OpenFlow в оверлейной сети, связаны, соответственно, с контроллером OpenFlow. Сетевые узлы 51, 52, 53 и 54, соответственно, содержат линейные карты А2 и В2, поддерживающие группу типа Select (выбор) и линейных карт С2 и D2, поддерживающих группу типа Fast Failover (быстрое преодоление отказа). В данном примере линейная карта А2 имеет порты 21, 22, 23, 24, линейная карта В2 имеет порты 25, 26, 27, 28, линейная карта С2 имеет порты 29, 210, 211, 212, а линейная карта D2 имеет порты 213, 214, 215, 216.
В данном примере реализации контроллер OpenFlow и краевые узлы, поддерживающие протокол OpenFlow в оверлейной сети, выполняют шаги S501-S503, описанные ниже.
На шаге S501 коммутаторы 51, 52, 53, 54 OpenFlow группируют порты с различными функциями по групповым функциям и присваивают каждой группе портов идентификатор группы портов.
А именно, порты 21, 22, 23 и 24 линейной карты А2 и порты 25, 26, 27 и 28 линейной карты В2 становятся первой группой портов, и всем им присваивают первый идентификатор группы портов. Порты 29, 210, 211 и 212 линейной карты С2 и порты 213, 214, 215 и 216 линейной карты D2 становятся второй группой портов, и всем им присваивают второй идентификатор группы портов. Значения первого и второго идентификаторов групп портов отличаются друг от друга.
На шаге S502, после приема сообщения с запросом информации о портах, переданного контроллером OpenFlow, коммутаторы 51, 52, 53, 54 OpenFlow отвечают контроллеру OpenFlow сообщениями с информацией о портах, которые содержат идентификаторы групп портов.
А именно, информация о портах для портов 21, 22, 23 и 12 линейной карты А2 и для портов 25, 26, 27 и 28 линейной карты В2, передаваемая коммутаторами 51, 52, 53 и 54 OpenFlow, во всех случаях содержит первый идентификатор группы портов, и передаваемая информация о портах для портов 29, 210, 211 и 212 линейной карты А2 и для портов 213, 214, 215 и 216 линейной карты D2, во всех случаях содержит второй идентификатор группы портов.
На шаге S503, после приема сообщения с запросом информации о функциях таблицы, переданного контроллером OpenFlow, коммутаторы 51, 52, 53, 54 OpenFlow отвечают контроллеру OpenFlow сообщениями с информацией о функциях таблицы, которые содержат идентификаторы групп портов.
А именно, информация о групповых функциях для первой группы портов, передаваемая коммутаторами 51, 52, 53, 54 OpenFlow, содержит первый идентификатор группы портов и указывает на то, что первая группа портов поддерживает группу типа Select; а передаваемая информация о групповых функциях для второй группы портов содержит второй идентификатор группы портов и указывает на то, что вторая группа портов поддерживает группу типа Fast Failover.
Описанные выше шаги S502 и S503 не обязательно должны иметь строгий порядок следования. Шаг S502 может быть выполнен после приема сообщения с запросом информации о портах, переданного контроллером OpenFlow. Шаг S503 может быть выполнен после приема сообщения с запросом информации о групповых функциях, переданного контроллером OpenFlow.
Третий пример реализации
Фиг. 6 представляет собой эскизную блок-схему одного из сценариев применения, в котором, одновременно, различные линейные карты поддерживают различные протоколы инкапсуляции оверлейной сети, и различные линейные карты поддерживают различные типы групп, в соответствии с третьим примером реализации. В соответствии с фиг. 6 в данном примере реализации краевые узлы (здесь - коммутаторы OpenFlow) 61, 62, 63, 64, поддерживающие протокол OpenFlow в оверлейной сети, связаны, соответственно, с контроллером OpenFlow. Краевые узлы 61, 62, 63 и 64, соответственно, содержат линейную карту A3, которая поддерживает инкапсуляцию VxLAN и группу типа Select, линейную карту В3, которая поддерживает Trill-инкапсуляцию и группу типа Select, линейную карту С3, которая поддерживает GUE-инкапсуляцию и группу типа Fast Failover, и линейную карту D3, которая поддерживает РВВ-инкапсуляцию и группу типа Fast Failover. В данном примере линейная карта A3 имеет порты 31, 32, 33, 34, линейная карта В3 имеет порты 35, 36, 37, 38, линейная карта СС имеет порты 39, 310, 311, 312, а линейная карта D3 имеет порты 313, 314, 315, 316.
В данном примере реализации контроллер OpenFlow и краевые узлы, поддерживающие протокол OpenFlow в оверлейной сети, выполняют шаги S601-S604, описанные ниже.
На шаге S601 коммутаторы 61, 62, 63, 64 OpenFlow группируют порты с различными функциями по функциям таблицы и групповым функциям и присваивают каждой группе портов идентификатор группы портов.
А именно, чтобы различать идентификаторы групп портов, присвоенные, исходя из функций таблицы, от идентификаторов групп портов, присвоенных, исходя из групповых функций, диапазоны значений для портов этих двух типов не должны пересекаться. В результате группирования портов с различными функциями по функциям таблицы порты 31, 32, 33 и 34 линейной карты A3 становится первой группой портов и всем им присваивают первый идентификатор группы портов, и порты 35, 36, 37 и 38 линейной карты В3 становятся второй группой портов и всем им присваивают второй идентификатор группы портов, и Порты 39, 310, 311 и 312 линейной карты С3 становятся третьей группой портов, и всем им присваивают третий идентификатор группы портов, и порты 313, 314, 315 и 316 линейной карты D3 становятся четвертой группой портов, и всем им присваивают четвертый идентификатор группы портов. В результате группирования портов с различными функциями по групповым функциям порты 31, 32, 33 и 34 линейной карты A3 и порты 35, 36, 37 и 38 линейной карты В3 становятся пятой группой портов и всем им присваивают пятый идентификатор группы портов, и порты 39, 310, 311 и 312 линейной карты С3 и порты 313, 314, 315 и 316 линейной карты D3 становятся шестой группой портов, и всем им присваивают шестой идентификатор группы портов. В данном примере значения первого, второго, третьего и четвертого идентификаторов групп портов отличают друг от друга; значения пятого и шестого идентификаторов групп портов отличаются друг от друга. В дополнение, диапазоны значений первого, второго, третьего и четвертого идентификаторов групп портов (например, числа од 1 до 10) отличаются от диапазонов значений пятого и шестого идентификаторов групп портов (например, числа от 11 до 20).
На шаге S602, после приема сообщения с запросом информации о портах, переданного контроллером OpenFlow, коммутаторы 61, 62, 63, 64 OpenFlow отвечают контроллеру OpenFlow сообщениями с информацией о портах, которые содержат идентификаторы групп портов.
А именно, информация о портах для портов 31, 32, 33 и 34 линейной карты A3, передаваемая коммутаторами 61, 62, 63 и 64 OpenFlow, во всех случаях содержит первый идентификатор группы портов и пятый идентификатор группы портов. Передаваемая информация о портах для портов 35, 36, 37 и 38 линейной карты В3 во всех случаях содержит второй идентификатор группы портов и пятый идентификатор группы портов. Передаваемая информация о портах для портов 35, 36, 37 и 38 линейной карты В3 во всех случаях содержит второй идентификатор группы портов и пятый идентификатор группы портов. Передаваемая информация о портах для портов 313, 314, 315 и 316 линейной карты D3 во всех случаях содержит четвертый идентификатор группы портов и шестой идентификатор группы портов.
На шаге S603, после приема сообщения с запросом информации о функциях таблицы, переданного контроллером OpenFlow, коммутаторы 61, 62, 63, 64 OpenFlow отвечают контроллеру OpenFlow отчетными сообщениями с информацией о функциях таблицы, которые содержат идентификаторы различных групп портов, полученные в результате группирования по функциям таблицы.
А именно, информация о функциях таблицы для первой группы портов, передаваемая коммутаторами 61, 62, 63, 64 OpenFlow, содержит первый идентификатор группы портов и указывает на то, что первая группа портов поддерживает выполнение операции таблицы, представляющей собой инкапсуляцию/декапсуляцию VxLAN. Передаваемая информация о функциях таблицы для второй группы портов содержит второй идентификатор группы портов и указывает на то, что вторая группа портов поддерживает выполнение операции таблицы, представляющей собой инкапсуляцию/декапсуляцию Trill. Передаваемая информация о функциях таблицы для третьей группы портов содержит третий идентификатор группы портов и указывает на то, что третья группа портов поддерживает выполнение операции таблицы, представляющей собой инкапсуляцию/декапсуляцию GUE. Передаваемая информация о функциях таблицы для четвертой группы портов содержит четвертый идентификатор группы портов и указывает на то, что четвертая группа портов поддерживает выполнение операции таблицы, представляющей собой инкапсуляцию/декапсуляцию РВВ.
На шаге S604, после приема сообщения с запросом информации о функциях таблицы, переданного контроллером OpenFlow, коммутаторы 61, 62, 63, 64 OpenFlow отвечают контроллеру OpenFlow отчетными сообщениями с информацией о групповых функциях, которые содержат идентификаторы различных групп портов, полученные в результате группирования по групповым функциям.
А именно, информация о групповых функциях для пятой группы портов, передаваемая коммутаторами 61, 62, 63, 64 OpenFlow, содержит пятый идентификатор группы портов и указывает на то, что пятая группа портов поддерживает группу типа Select; а передаваемая информация о групповых функциях для шестой группы портов содержит шестой идентификатор группы портов и указывает на то, что шестая группа портов поддерживает группу типа Fast Failover.
Описанные выше шаги S602, S603 и S604 не обязательно должны иметь строгий порядок следования. Шаг S602 может быть выполнен после приема сообщения с запросом информации о портах, переданного контроллером OpenFlow. Шаг S603 может быть выполнен после приема сообщения с запросом информации о функциях таблицы, переданного контроллером OpenFlow. Шаг S604 может быть выполнен после приема сообщения с запросом информации о групповых функциях, переданного контроллером OpenFlow.
В одном из вариантов осуществления настоящего изобретения предложен также машиночитаемый информационный носитель, на котором хранят машиноисполняемые инструкции, при этом машиноисполняемые инструкции применяют для исполнения любых из способов, описанных в данном документе.
Во втором варианте осуществления настоящего изобретения предложено устройство для передачи информации о функциях коммутатора OpenFlow, находящееся в составе коммутатора OpenFlow. В соответствии с иллюстрацией фиг. FIG. 7, устройство включает:
первый модуль 71 отчетов, сконфигурированный, когда становится известно о том, что контроллеру OpenFlow необходимо запросить информацию о портах, для передачи идентификаторов групп портов для тех групп портов, которым принадлежит каждый из портов коммутатора OpenFlow или каждый из портов, запрашиваемых контроллером OpenFlow, в контроллер OpenFlow. В данном варианте осуществления настоящего изобретения группы портов получают группированием портов с различными функциями в коммутаторе OpenFlow, на основании одного или более типа функций, и при этом каждая из групп портов имеет идентификатор группы портов.
В одном из примеров осуществления настоящего изобретения устройство дополнительно включает:
второй модуль 72 отчетов, сконфигурированный, когда становится известно о том, что контроллеру OpenFlow необходимо запросить информацию о функциях для первого типа функций, для передачи идентификатора группы портов каждой из групп портов, полученных группированием на основании первого типа функций, в контроллер OpenFlow.
В одном из примеров осуществления настоящего изобретения устройство включает также модуль 73 группирования (на фиг. 7 модуль группирования показан штриховым прямоугольником, который означает, что модуль группирования является опциональным), сконфигурированный для группирования портов с различными функциями в коммутаторе OpenFlow на основании одного или более типа функций и для назначения идентификатора группы портов каждой группе портов. Модуль группирования не обязательно должен размещаться в коммутаторе OpenFlow; или модуль группирования может отсутствовать, а группирование портов может выполняться вручную. Состояние группирования и присвоенные идентификаторы групп портов могут быть сохранены в коммутаторе OpenFlow заранее, в виде конфигурационной информации.
В одном из примеров осуществления настоящего изобретения идентификаторы групп портов для тех групп портов, которым принадлежит каждый из портов, включают:
количество имеющихся идентификаторов групп портов и значение каждого из идентификаторов групп портов.
В одном из примеров осуществления настоящего изобретения типы функций включают одно из следующего:
функции таблицы или групповые функции.
В одном из примеров осуществления настоящего изобретения один или более типов функций, на основании которых выполняют группирование, включают один или более типов функций, для которых функции в различных портах коммутатора OpenFlow неодинаковы.
В одном из примеров осуществления настоящего изобретения диапазоны значений идентификаторов групп портов, соответствующих различным типам функций, не пересекаются.
В одном из примеров осуществления настоящего второй модуль отчетов сконфигурирован для передачи идентификатора группы портов для каждой из групп портов, полученных группированием на основании первого типа функций, в контроллер OpenFlow, следующим образом:
первый модуль отчетов выполняет ответную передачу, в контроллер OpenFlow, N отчетных сообщений с информацией о функциях для первого типа функций, где N - количество групп портов, полученных группированием на основании первого типа функций, и при этом каждое отчетное сообщение с информацией о функциях содержит идентификатор группы портов, и при этом идентификатор группы портов, содержащийся в каждом отчетном сообщении с информацией о функциях, отличается от остальных и соответствует идентификатору группы портов для группы портов, полученной группированием на основании первого типа функций.
В одном из примеров осуществления настоящего второй модуль отчетов сконфигурирован для передачи идентификатора группы портов для каждой из групп портов, полученных группированием на основании первого типа функций, в контроллер OpenFlow, следующим образом:
второй модуль отчетов выполняет ответную передачу, в контроллер OpenFlow одного отчетного сообщения с информацией о функциях для первого типа функций, при этом информация о функциях, содержащаяся в отчетном сообщении с информацией о функциях, содержит идентификатор или идентификаторы одной или более групп портов, полученных группированием на основании первого типа функций.
Специалисты в данной области техники должны понимать, что все шаги описанных выше способов, или их часть, могут выполняться соответствующим аппаратным обеспечением (например, процессорами) при помощи программ. Такие программы может храниться на машиночитаемом носителе, например, в памяти «только для чтения», на магнитном диске, оптическом диске и т.п. В одном из примеров осуществления настоящего изобретения все шаги описанных выше вариантов осуществления настоящего изобретения, или их часть, могут быть также реализованы при помощи одной или боле интегральных схем. Соответственно, различные модули и/или блоки в вариантах осуществления настоящего изобретения могут быть реализованы в виде аппаратного обеспечения, например, с использованием интегральных схем для реализации соответствующих функций, или могут быть реализованы в виде программного функционального модуля, например, при помощи исполнения программ и/или инструкций, хранимых в памяти, при помощи процессора в целях реализации соответствующих функций. Настоящее изобретение не ограничено никакой конкретной комбинацией аппаратного и программного обеспечения.
Выше приведено описание конкретных вариантов осуществления настоящего изобретения, однако нужно понимать, что эти варианты осуществления настоящего изобретения предназначены исключительно для простоты понимания настоящего изобретения, и не должны трактоваться как ограничивающие его. В пределах объема и сущности настоящего изобретения специалисты в данной области техники могут вносить любые модификации и изменения, касающиеся формы и частных деталей реализации, однако при этом объем правовой защиты настоящего изобретения задан приложенной формулой изобретения.
Промышленная применимость
Описанное выше техническое решение позволяет значительно повысить гибкость передачи информации о функциях коммутатора OpenFlow, при этом передача информации о функциях коммутатора OpenFlow возможна с точностью до группы портов.

Claims (37)

1. Способ передачи информации о функциях коммутатора OpenFlow, включающий:
после приема, коммутатором OpenFlow, сообщения с запросом информации о портах, переданного контроллером OpenFlow, передачу идентификаторов групп портов для тех групп портов, которым принадлежит каждый из портов коммутатора OpenFlow, в контроллер OpenFlow, или передачу идентификаторов групп портов для тех групп портов, которым принадлежит каждый из портов, заданных контроллером OpenFlow, в контроллер OpenFlow, при этом группы портов получают группированием портов с различными функциями в коммутаторе OpenFlow на основании одного или более типа функций, и каждая из групп портов имеет идентификатор группы портов.
2. Способ по п. 1, в котором, когда коммутатор OpenFlow обнаруживает, что контроллеру OpenFlow необходимо запросить информацию о функциях для первого типа функций, способ дополнительно включает:
передачу, коммутатором OpenFlow, идентификатора группы портов для каждой из групп портов, полученных группированием на основании первого типа функций, в контроллер OpenFlow.
3. Способ по п. 1, перед его выполнением также включающий:
группирование, коммутатором OpenFlow, портов с различными функциями на основании одного или более типа функций и назначение идентификатора группы портов каждой группе портов.
4. Способ по п. 1, в котором идентификаторы групп портов для каждой из групп портов, которым принадлежит каждый порт, включают:
количество имеющихся идентификаторов групп портов и значение каждого из идентификаторов групп портов.
5. Способ по п. 2, в котором типы функций включают одно из следующего:
функции таблицы или групповые функции.
6. Способ по п. 1, в котором
один или более типов функций, на основании которых выполняют группирование, включают один или более типов функций, для которых функции в различных портах коммутатора OpenFlow неодинаковы.
7. Способ по п. 1, в котором
диапазоны значений идентификаторов групп портов, соответствующих различным типам функций, не пересекаются.
8. Способ по п. 2, в котором передача, коммутатором OpenFlow, идентификатора группы портов для каждой из групп портов, полученных группированием на основании первого типа функций, в контроллер OpenFlow включает:
ответную передачу, коммутатором OpenFlow, в контроллер OpenFlow, N отчетных сообщений с информацией о функциях для первого типа функций, где N - количество групп портов, полученных группированием на основании первого типа функций, при этом каждое отчетное сообщение с информацией о функциях содержит идентификатор группы портов, и идентификатор группы портов, содержащийся в каждом отчетном сообщении с информацией о функциях, отличается от остальных и принадлежит идентификатору группы портов для группы портов, полученной группированием на основании первого типа функций.
9. Способ по п. 2, в котором передача, коммутатором OpenFlow, идентификатора группы портов для каждой из групп портов, полученных группированием на основании первого типа функций, в контроллер OpenFlow включает:
ответную передачу, коммутатором OpenFlow, в контроллер OpenFlow одного отчетного сообщения с информацией о функциях для первого типа функций, при этом информация о функциях, содержащаяся в отчетном сообщении с информацией о функциях, содержит идентификатор или идентификаторы одной или более групп портов, полученных группированием на основании первого типа функций.
10. Устройство для передачи информации о функциях коммутатора OpenFlow, находящееся в коммутаторе OpenFlow и включающее:
первый модуль отчетов, сконфигурированный, после приема сообщения с запросом информации о портах, переданного контроллером OpenFlow, для передачи идентификаторов групп портов для тех групп портов, которым принадлежит каждый из портов коммутатора OpenFlow, в контроллер OpenFlow, или для передачи идентификаторов групп портов для тех групп портов, которым принадлежит каждый из портов, заданных контроллером OpenFlow, в контроллер OpenFlow, при этом группы портов получают группированием портов с различными функциями в коммутаторе OpenFlow, на основании одного или более типа функций, и каждая из групп портов имеет идентификатор группы портов.
11. Устройство по п. 10, также включающее:
второй модуль отчетов, сконфигурированный, после обнаружения того, что контроллеру OpenFlow необходимо запросить информацию о функциях для первого типа функций, для передачи идентификатора группы портов каждой из групп портов, полученных группированием на основании первого типа функций, в контроллер OpenFlow.
12. Устройство по п. 10, также включающее:
модуль группирования, сконфигурированный для группирования портов с различными функциями на основании одного или более типа функций и для назначения идентификатора группы портов каждой группе портов.
13. Устройство по п. 10, в котором идентификаторы групп портов для каждой из групп портов, которым принадлежит каждый порт, включают:
количество имеющихся идентификаторов групп портов и значение каждого из идентификаторов групп портов.
14. Устройство по п. 10, в котором упомянутые типы функций включают одно из следующего:
функции таблицы или групповые функции.
15. Устройство по п. 10, в котором
один или более типов функций, на основании которых выполняют группирование, включают один или более типов функций, для которых функции в различных портах коммутатора OpenFlow неодинаковы.
16. Устройство по п. 10, в котором
диапазоны значений идентификаторов групп портов, соответствующих различным типам функций, не пересекаются.
17. Устройство по п. 11, в котором второй модуль отчетов сконфигурирован для передачи идентификатора группы портов для каждой из групп портов, полученных группированием на основании первого типа функций, в контроллер OpenFlow, следующим образом:
путем ответной передачи в контроллер OpenFlow, N отчетных сообщений с информацией о функциях для первого типа функций, где N-количество групп портов, полученных группированием на основании первого типа функций, при этом каждое отчетное сообщение с информацией о функциях содержит идентификатор группы портов, и идентификатор группы портов, содержащийся в каждом отчетном сообщении с информацией о функциях, отличается от остальных и принадлежит идентификатору группы портов для группы портов, полученной группированием на основании первого типа функций.
18. Устройство по п. 11, в котором второй модуль отчетов сконфигурирован для передачи идентификатора группы портов для каждой из групп портов, полученных группированием на основании первого типа функций, в контроллер OpenFlow, следующим образом:
путем ответной передачи, вторым модулем отчетов, в контроллер OpenFlow одного отчетного сообщения с информацией о функциях для первого типа функций, при этом информация о функциях, содержащаяся в отчетном сообщении с информацией о функциях, содержит идентификатор или идентификаторы одной или более групп портов, полученных группированием на основании первого типа функций.
19. Машиночитаемый информационный носитель, на котором хранят машиноисполняемые инструкции, при этом машиноисполняемые инструкции применяют для выполнения способа по любому из пп. 1-9.
RU2017145121A 2015-07-01 2016-03-28 Способ и устройство для передачи информации о функциях коммутатора openflow RU2687215C1 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201510380942.1 2015-07-01
CN201510380942.1A CN106330783B (zh) 2015-07-01 2015-07-01 一种OpenFlow交换机能力上报的方法及装置
PCT/CN2016/077544 WO2016177180A1 (zh) 2015-07-01 2016-03-28 一种OpenFlow交换机能力上报的方法及装置

Publications (1)

Publication Number Publication Date
RU2687215C1 true RU2687215C1 (ru) 2019-05-07

Family

ID=57218045

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2017145121A RU2687215C1 (ru) 2015-07-01 2016-03-28 Способ и устройство для передачи информации о функциях коммутатора openflow

Country Status (5)

Country Link
US (1) US10374899B2 (ru)
EP (1) EP3253030B1 (ru)
CN (1) CN106330783B (ru)
RU (1) RU2687215C1 (ru)
WO (1) WO2016177180A1 (ru)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11128489B2 (en) * 2017-07-18 2021-09-21 Nicira, Inc. Maintaining data-plane connectivity between hosts
US11089102B2 (en) * 2016-01-20 2021-08-10 Telefonaktiebolaget Lm Ericsson (Publ) Advertising network resource sharing status in SDN
CN110266595A (zh) * 2018-03-12 2019-09-20 中兴通讯股份有限公司 报文匹配信息的发送方法、装置、存储介质及电子装置
CN110932968B (zh) * 2019-11-18 2021-05-14 华南理工大学 一种流量转发方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130272135A1 (en) * 2012-04-11 2013-10-17 Gigamon Llc Traffic visibility in an open networking environment
CN104022960A (zh) * 2013-02-28 2014-09-03 杭州华三通信技术有限公司 基于OpenFlow协议实现PVLAN的方法和装置
CN104092604A (zh) * 2014-07-02 2014-10-08 杭州华三通信技术有限公司 报文传输控制方法及装置
RU2541113C2 (ru) * 2010-10-15 2015-02-10 Нек Корпорейшн Система коммутаторов и способ централизованного управления мониторингом

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101170468B (zh) * 2007-11-22 2011-06-01 中国电信股份有限公司 光网络单元能力信息获得方法及系统
CN101572673B (zh) * 2009-06-19 2013-03-20 杭州华三通信技术有限公司 扩展交换带宽的分布式包交换系统和分布式包交换方法
JP5493926B2 (ja) * 2010-02-01 2014-05-14 日本電気株式会社 インタフェース制御方式、インタフェース制御方法、及びインタフェース制御用プログラム
US9385875B2 (en) * 2013-01-23 2016-07-05 Nexenta Systems, Inc. Scalable transport with cluster-consensus rendezvous
CN102291711B (zh) * 2011-08-12 2014-03-19 电信科学技术研究院 终端设备的能力上报方法和设备
US9419903B2 (en) * 2012-11-08 2016-08-16 Texas Instruments Incorporated Structure for implementing openflow all group buckets using egress flow table entries
US10104004B2 (en) * 2012-11-08 2018-10-16 Texas Instruments Incorporated Openflow match and action pipeline structure
US9906445B2 (en) * 2013-02-01 2018-02-27 Texas Instruments Incorporated Packet processing match and action pipeline structure with dependency calculation removing false dependencies
CN103200122B (zh) * 2013-03-05 2016-08-10 国家电网公司 一种软件定义网络中组表的处理方法、系统和控制器
CN104426792B (zh) * 2013-09-05 2019-08-13 中兴通讯股份有限公司 调度器支持能力的查询、通知方法及装置
CN104468462B (zh) * 2013-09-12 2017-12-15 新华三技术有限公司 分布式虚拟交换机系统的报文转发方法及设备
CN104702502B (zh) * 2013-12-09 2019-11-26 中兴通讯股份有限公司 网络路径计算方法及装置
CN104796347A (zh) * 2014-01-20 2015-07-22 中兴通讯股份有限公司 一种负载均衡方法、装置和系统
CN104158753B (zh) * 2014-06-12 2017-10-24 南京工程学院 基于软件定义网络的动态流调度方法及系统
US9853870B2 (en) * 2015-03-31 2017-12-26 Verizon Patent And Licensing Inc. Controller supported service maps within a federation of forwarding boxes
US10243778B2 (en) * 2015-08-11 2019-03-26 Telefonaktiebolaget L M Ericsson (Publ) Method and system for debugging in a software-defined networking (SDN) system
US10129778B2 (en) * 2016-08-30 2018-11-13 Nxgen Partners Ip, Llc SDN-based channel estimation for multiplexing between LOS mmWaves NLOS sub-6 GHz and FSO

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2541113C2 (ru) * 2010-10-15 2015-02-10 Нек Корпорейшн Система коммутаторов и способ централизованного управления мониторингом
US20130272135A1 (en) * 2012-04-11 2013-10-17 Gigamon Llc Traffic visibility in an open networking environment
CN104022960A (zh) * 2013-02-28 2014-09-03 杭州华三通信技术有限公司 基于OpenFlow协议实现PVLAN的方法和装置
CN104092604A (zh) * 2014-07-02 2014-10-08 杭州华三通信技术有限公司 报文传输控制方法及装置

Also Published As

Publication number Publication date
US20180337827A1 (en) 2018-11-22
CN106330783B (zh) 2019-03-15
CN106330783A (zh) 2017-01-11
EP3253030A4 (en) 2018-02-28
EP3253030A1 (en) 2017-12-06
WO2016177180A1 (zh) 2016-11-10
EP3253030B1 (en) 2020-02-26
US10374899B2 (en) 2019-08-06

Similar Documents

Publication Publication Date Title
US10545780B2 (en) System and computer for controlling a switch to provide a virtual customer premises equipment service in a network function virtualization environment based on a predetermined condition being satisfied
JP6538986B2 (ja) 仮想マシンパケット制御
US11398956B2 (en) Multi-Edge EtherChannel (MEEC) creation and management
JP2022518475A (ja) パケット処理方法および装置、デバイス、ならびにシステム
US9590898B2 (en) Method and system to optimize packet exchange between the control and data plane in a software defined network
US9455916B2 (en) Method and system for changing path and controller thereof
US8787396B2 (en) Centralized control and management planes for different independent switching domains
CN104506408A (zh) 基于sdn的数据传输的方法及装置
US10530669B2 (en) Network service aware routers, and applications thereof
RU2687215C1 (ru) Способ и устройство для передачи информации о функциях коммутатора openflow
US20150188731A1 (en) Programmable Distributed Networking
CN108881018B (zh) 用于在diameter信令路由器处路由diameter消息的方法、系统及装置
US10999202B2 (en) Methods, systems, and computer readable media for distributing Sigtran connections among signal transfer point (STP) message processors
CN105743687B (zh) 节点故障的判断方法及装置
CN114553707B (zh) 网络的拓扑信息的生成和网络故障的定界方法、装置
US8964596B1 (en) Network service aware routers, and applications thereof
US10177935B2 (en) Data transfer system, data transfer server, data transfer method, and program recording medium
US9537750B2 (en) Multicast router topology discovery
KR20180085592A (ko) 프리즘 가상 라우터 오픈스택 오케스트레이션 연동을 위한 가상 라우터 시스템 및 그 방법
CN117118912A (zh) 报文传输方法、网络设备和通信系统
Selvakumaran Software-defined inter-domain switching