Способ коммутационной обработки, контроллер, коммутатор и система коммутационной обработки
Иллюстрации
Показать всеИзобретение относится к области технологий связи. Технический результат заключается в повышении эффективности коммутационной обработки. Технический результат достигается за счет выделения, посредством контроллера, таблицы потоков во множественных таблицах потоков логического коммутатора каждому физическому коммутатору, причем множественные таблицы потоков являются конвейером логического коммутатора; отправки, посредством контроллера, информации отображения, благодаря чему каждый физический коммутатор получает информацию отображения, причем информация отображения содержит отношение отображения между физическим коммутатором и каждой таблицей потоков во множественных таблицах потоков; и отправки, посредством контроллера, элементов потока на логический коммутатор, благодаря чему каждый физический коммутатор получает элементы потока, соответствующие каждому физическому коммутатору, и обрабатывает принятый пакет данных согласно элементам потока или согласно элементам потока и информации отображения, причем элементы потока являются информацией содержания каждой таблицы потоков в наборе таблиц потоков, выделенном контроллером каждому физическому коммутатору. 2 н. и 18 з.п. ф-лы, 22 ил.
Реферат
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[0001] Варианты осуществления настоящего изобретения относятся к технологиям связи и, в частности, к способу коммутационной обработки, контроллеру, коммутатору и системе коммутационной обработки.
УРОВЕНЬ ТЕХНИКИ
[0002] Программно-определяемая сеть (SDN) является сетевой архитектурой для отделения управления от ретрансляции и отличается централизованным управлением и открытым программируемым интерфейсом, то есть контроллер в плоскости управления может управлять коммутатором в плоскости ретрансляции с использованием протокола сетевой связи, например, с использованием новой предложенной модели сетевого коммутатора, а именно, протокола Openflow.
[0003] В уровне техники, контроллер может управлять работой коммутатора в плоскости ретрансляции с использованием протокола Openflow. Коммутатор несет множественные таблицы потоков служебной логики, то есть коммутатор использует конвейер на основании таблиц потоков для обработки пакета данных. В частности, каждая таблица потоков может включать в себя множественные элементы потока, причем элементы потока используются для переноса основной логики обработки протокола Openflow. При приеме пакета данных, коммутатор согласует элементы потока по одному согласно заранее сконфигурированному приоритетному порядку с использованием полей согласование в элементах потока и, после успешного согласования элемента потока, выполняет исполнимые инструкции в элементе потока, причем инструкции включают в себя, например, список операций (действий), изменение метаданных и направление на следующую таблицу потоков. Поскольку пакет данных, в общем случае, должен проходить обработку согласования множественных таблиц потоков, после того, как входной пакет данных успешно согласуется с элементом потока в таблице потоков, исполнимые инструкции в элементе потока выполняются, и затем коммутатор направляет пакет данных на следующую таблицу потоков для продолжения обработки.
[0004] Однако количество таблиц потоков, поддерживаемых конвейером коммутатора и масштаб элементов потока, которые могут обрабатываться коммутатором, ограничены в уровне техники. Поэтому, когда оператору нужно осуществлять повышение пропускной способности в отношении функций или производительности коммутатора, расположенного на сетевом узле, вследствие ограниченных аппаратных возможностей коммутатора, оператор может лишь заменять коммутатор в существующей сети коммутатором, имеющим более высокую пропускную способность или поддерживающим больше таблиц потоков. Поэтому затраты на повышение пропускной способности сети возрастают.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0005] Варианты осуществления настоящего изобретения предусматривают способ коммутационной обработки, контроллер, коммутатор и систему коммутационной обработки для решения проблемы, присущей уровню техники, состоящей в том, что, когда оператору нужно осуществлять повышение пропускной способности в отношении функций или производительности коммутатора, расположенного на сетевом узле, оператор может лишь заменять коммутатор в существующей сети вследствие ограниченных аппаратных возможностей коммутатора, для снижения затрат на повышение пропускной способности сети.
[0006] Согласно первому аспекту, вариант осуществления настоящего изобретения предусматривает способ коммутационной обработки, причем способ выполняется контроллером и логическим коммутатором, причем логический коммутатор включает в себя, по меньшей мере, два физических коммутатора, и способ включает в себя:
выделение, контроллером, каждой таблицы потоков во множественных таблицах потоков логического коммутатора каждому физическому коммутатору, причем множественные таблицы потоков являются конвейером логического коммутатора;
отправку, контроллером, информации отображения, благодаря чему, каждый физический коммутатор получает информацию отображения, причем информация отображения включает в себя отношение отображения между физическим коммутатором и каждой таблицей потоков во множественных таблицах потоков; и
отправку, контроллером, элементов потока на логический коммутатор, благодаря чему, каждый физический коммутатор получает элементы потока, соответствующие каждому физическому коммутатору, и обрабатывает принятый пакет данных согласно элементам потока или согласно элементам потока и информации отображения, причем элементы потока являются информацией содержания каждой таблицы потоков в наборе таблиц потоков, выделенном контроллером каждому физическому коммутатору.
[0007] В первом возможном варианте реализации первого аспекта, по меньшей мере, два физических коммутатора включают в себя первичный коммутатор и первый расширенный коммутатор, причем контроллер подключен, по меньшей мере, к первичному коммутатору, и первый расширенный коммутатор подключен, по меньшей мере, к первичному коммутатору;
отправка, контроллером, информации отображения, включает в себя:
отправку, контроллером, информации отображения, по меньшей мере, на первичный коммутатор, благодаря чему, первичный коммутатор принимает информацию отображения, и информация отображения, принятая первым расширенным коммутатором, включает в себя информацию отображения, отправленную контроллером и/или первичным коммутатором; и
отправка, контроллером, элементов потока на логический коммутатор, включает в себя:
отправку, контроллером, элементов потока логического коммутатора, по меньшей мере, на первичный коммутатор, благодаря чему, элементы потока, принятые первичным коммутатором, включают в себя элементы потока, соответствующие первичному коммутатору, или элементы потока, соответствующие каждому физическому коммутатору, и элементы потока, принятые первым расширенным коммутатором, включают в себя элементы потока, отправленные контроллером и/или первичным коммутатором.
[0008] Согласно первому возможному варианту реализации первого аспекта, во втором возможном варианте реализации, физические коммутаторы дополнительно включают в себя второй расширенный коммутатор, и второй расширенный коммутатор подключен, по меньшей мере, к первому расширенному коммутатору;
отправка, контроллером, информации отображения, включает в себя:
отправку, контроллером, информации отображения, по меньшей мере, на первичный коммутатор, благодаря чему, первичный коммутатор принимает информацию отображения, причем информация отображения, принятая первым расширенным коммутатором, включает в себя информацию отображения, отправленную контроллером и/или первичным коммутатором, и информация отображения, принятая вторым расширенным коммутатором, включает в себя информацию отображения, отправленную контроллером и/или первичным коммутатором и/или первым расширенным коммутатором; и
отправка, контроллером, элементов потока на логический коммутатор, включает в себя:
отправку, контроллером, элементов потока логического коммутатора, по меньшей мере, на первичный коммутатор, благодаря чему, элементы потока, принятые первичным коммутатором, включают в себя элементы потока, соответствующие первичному коммутатору, или элементы потока, соответствующие первичному коммутатору, и элементы потока, соответствующие первому расширенному коммутатору и/или второму расширенному коммутатору, элементы потока, принятые первым расширенным коммутатором, включают в себя элементы потока, соответствующие первому расширенному коммутатору и отправленные контроллером и/или первичным коммутатором, и элементы потока, принятые вторым расширенным коммутатором, включают в себя элементы потока, соответствующие второму расширенному коммутатору и отправленные контроллером и/или первичным коммутатором и/или первым расширенным коммутатором.
[0009] Согласно первому или второму возможному варианту реализации первого аспекта, в третьем возможном варианте реализации, таблица потоков, выделенная контроллером первичному коммутатору, включает в себя, по меньшей мере, первую таблицу потоков table0 во множественных таблицах потоков логического коммутатора, благодаря чему, когда первичный коммутатор принимает пакет данных, первичный коммутатор обрабатывает пакет данных с использованием table0.
[0010] Согласно любому из первого аспекта или первому или второму возможному варианту реализации первого аспекта, в четвертом возможном варианте реализации, отправка, контроллером, элементов потока на логический коммутатор, включает в себя:
отправку, контроллером, элементов потока на логический коммутатор, благодаря чему, когда текущий физический коммутатор принимает пакет данных, текущий физический коммутатор обрабатывает пакет данных с использованием текущей таблицы потоков, определяет положение следующей таблицы потоков согласно информации отображения, и когда определенная следующая таблица потоков располагается в текущем физическом коммутаторе, направляет пакет данных на следующую таблицу потоков для продолжения обработки, или когда определенная следующая таблица потоков располагается в другом физическом коммутаторе, инициирует защиту среды конвейера для генерации пакета инкапсуляции, и отправляет пакет инкапсуляции на физический коммутатор, соответствующий следующей таблице потоков.
[0011] Согласно любому из первого аспекта или первому или второму возможному варианту реализации первого аспекта, в пятом возможном варианте реализации, отправка, контроллером, элементов потока на логический коммутатор, включает в себя:
когда элемент потока, подлежащий отправке, включает в себя инструкцию перехода таблицы потоков, определение, контроллером, располагается ли следующая таблица потоков в текущем физическом коммутаторе; и
в случае определения, что следующая таблица потоков располагается в текущем физическом коммутаторе, отправку, контроллером, элемента потока, включающего в себя инструкцию перехода таблицы потоков, на текущий физический коммутатор, благодаря чему, текущий физический коммутатор направляет пакет данных на следующую таблицу потоков для продолжения обработки; или
в случае определения, что следующая таблица потоков располагается в другом физическом коммутаторе, замену, контроллером, инструкции перехода таблицы потоков в элементе потока, подлежащем отправке, инструкцией ретрансляции коммутатора, и отправку элемента потока, включающего в себя инструкцию ретрансляции коммутатора, на текущий физический коммутатор, благодаря чему, текущий физический коммутатор инициирует защиту среды конвейера для генерации пакета инкапсуляции и отправляет пакет инкапсуляции на физический коммутатор, соответствующий следующей таблице потоков.
[0012] Согласно четвертому или пятому возможному варианту реализации первого аспекта, в шестом возможном варианте реализации, защита среды конвейера состоит в том, что текущий физический коммутатор инкапсулирует пакет данных и соответствующую информацию для обработки пакета данных в пакет инкапсуляции, причем соответствующая информация для обработки пакета данных включает в себя, по меньшей мере, числовой ID следующей таблицы потоков, и дополнительно включает в себя любое количество из следующей информации: входного порта (Ingress port), набора действий (Action set), в данный момент соответствующего пакету данных, и метаданных (Metadata).
[0013] Согласно любому из возможных вариантов реализации с четвертого по шестой первого аспекта, в седьмом возможном варианте реализации, защита среды конвейера используется для того, чтобы физический коммутатор, соответствующий следующей таблице потоков, мог разбирать пакет инкапсуляции, принятый физическим коммутатором, и получать разобранную информацию, с тем, чтобы осуществлять восстановление среды конвейера согласно разобранной информации и направлять пакет данных на следующую таблицу потоков для продолжения обработки, причем разобранная информация включает в себя пакет данных и соответствующую информацию для обработки пакета данных.
[0014] Согласно любому из возможных вариантов реализации с четвертого по шестой первого аспекта, в восьмом возможном варианте реализации, элементы потока, соответствующие расширенному коммутатору и отправленные контроллером, включают в себя элемент потока, используемый для осуществления восстановления конвейера; и способ дополнительно включает в себя:
отправку, контроллером, элемента потока, используемого для осуществления восстановления конвейера, на расширенный коммутатор, благодаря чему, расширенный коммутатор добавляет элемент потока в первую таблицу потоков table0' расширенного коммутатора и, в случае приема пакета инкапсуляции, осуществляет восстановление среды конвейера с использованием элемента потока, добавленного в table0'.
[0015] Согласно восьмому возможному варианту реализации первого аспекта, в девятом возможном варианте реализации, пакет инкапсуляции включает в себя ID следующей таблицы потоков, и элемент потока, используемый для осуществления восстановления конвейера, включает в себя часть согласования и исполнимую инструкцию, причем часть согласования используется расширенным коммутатором для использования ID следующей таблицы потоков в качестве объекта согласования, соответствующего элементу потока, и исполнимая инструкция включает в себя инструкцию восстановления таблицы потоков и/или инструкцию перехода таблицы потоков; и
восстановление среды конвейера состоит в том, что расширенный коммутатор согласует, с использованием элемента потока в table0', пакет инкапсуляции, принятый расширенным коммутатором, и когда ID следующей таблицы потоков согласуется с элементом потока в table0', выполняет инструкцию восстановления таблицы потоков и/или инструкцию перехода таблицы потоков в согласованном элементе потока последовательно согласно результату согласования.
[0016] Согласно второму аспекту, вариант осуществления настоящего изобретения предусматривает способ коммутационной обработки, причем способ выполняется контроллером и логическим коммутатором, причем логический коммутатор включает в себя, по меньшей мере, два физических коммутатора, и, по меньшей мере, два физических коммутатора включают в себя первичный коммутатор и расширенный коммутатор, причем контроллер подключен, по меньшей мере, к первичному коммутатору, и способ включает в себя:
прием, первичным коммутатором, информации отображения, отправленной контроллером, причем информация отображения включает в себя отношение отображения между физическим коммутатором и каждой таблицей потоков во множественных таблицах потоков логического коммутатора;
прием, первичным коммутатором, элементов потока, отправленных контроллером, причем элементы потока, принятые первичным коммутатором, являются информацией содержания каждой таблицы потоков в наборе таблиц потоков, выделенном контроллером первичному коммутатору, или выделенном контроллером первичному коммутатору и расширенному коммутатору; и
обработку, первичным коммутатором, принятого пакета данных согласно элементам потока или согласно элементам потока и информации отображения.
[0017] В первом возможном варианте реализации второго аспекта, после приема, первичным коммутатором, отношения отображения, отправленного контроллером, способ дополнительно включает в себя:
отправку, первичным коммутатором, информации отображения на расширенный коммутатор, подключенный к первичному коммутатору; и
после приема, первичным коммутатором, элементов потока, отправленных контроллером, способ дополнительно включает в себя:
отправку, первичным коммутатором, на расширенный коммутатор, подключенный к первичному коммутатору, элементов потока, выделенных контроллером.
[0018] Согласно второму аспекту или первому возможному варианту реализации второго аспекта, во втором возможном варианте реализации, расширенный коммутатор включает в себя первый расширенный коммутатор и второй расширенный коммутатор, причем первичный коммутатор подключен, по меньшей мере, к первому расширенному коммутатору, и второй расширенный коммутатор подключен, по меньшей мере, к первому расширенному коммутатору;
после приема, первичным коммутатором, информации отображения, отправленной контроллером, способ дополнительно включает в себя:
отправку, первичным коммутатором, информации отображения на первый расширенный коммутатор и/или второй расширенный коммутатор; и
после приема, первичным коммутатором, элементов потока, отправленных контроллером, способ дополнительно включает в себя:
отправку, первичным коммутатором, на первый расширенный коммутатор и/или второй расширенный коммутатор, элементов потока, выделенных контроллером, благодаря чему, расширенный коммутатор обрабатывает принятый пакет данных согласно информации отображения и элементам потока, соответствующим расширенному коммутатору.
[0019] Согласно любому из второго аспекта, или первому или второму возможному варианту реализации второго аспекта, в третьем возможном варианте реализации, информация отображения, принятая первичным коммутатором, включает в себя таблицу потоков, выделенную контроллером первичному коммутатору, причем таблица потоков включает в себя, по меньшей мере, первую таблицу потоков table0 во множественных таблицах потоков логического коммутатора; и обработка, первичным коммутатором, принятого пакета данных согласно элементам потока или согласно элементам потока и информации отображения, включает в себя:
обработку, первичным коммутатором, принятого пакета данных согласно элементам потока или согласно элементам потока и информации отображения с использованием table0.
[0020] Согласно любому из второго аспекта, или возможным вариантам реализации с первого по третий второго аспекта, в четвертом возможном варианте реализации, обработка, первичным коммутатором, принятого пакета данных согласно элементам потока или согласно элементам потока и информации отображения, включает в себя:
при приеме пакета данных, обработку, первичным коммутатором, пакета данных, и определение положения следующей таблицы потоков согласно информации отображения; и
когда следующая таблица потоков располагается в первичном коммутаторе, направление, первичным коммутатором, пакета данных на следующую таблицу потоков для продолжения обработки; или
когда следующая таблица потоков располагается в расширенном коммутаторе, инициирование, первичным коммутатором, защиты среды конвейера для генерации пакета инкапсуляции, и отправку пакета инкапсуляции на расширенный коммутатор, соответствующий следующей таблице потоков.
[0021] Согласно любому из второго аспекта, или возможным вариантам реализации с первого по третий второго аспекта, в пятом возможном варианте реализации, прием, первичным коммутатором, элементов потока, отправленных контроллером, включает в себя:
прием, первичным коммутатором, элемента потока, который включает в себя инструкцию перехода таблицы потоков или инструкцию ретрансляции коммутатора и отправлен контроллером, причем инструкция перехода таблицы потоков или инструкция ретрансляции коммутатора в элементе потока определяется контроллером согласно тому, располагается ли следующая таблица потоков в элементе потока в первичном коммутаторе, и, если да, элемент потока включает в себя инструкцию перехода таблицы потоков, в противном случае, элемент потока включает в себя инструкцию ретрансляции коммутатора; и
обработка, первичным коммутатором, принятого пакета данных согласно элементам потока или согласно элементам потока и информации отображения, включает в себя:
прием, первичным коммутатором, пакета данных, и когда элемент потока, согласующийся с пакетом данных, включает в себя инструкцию перехода таблицы потоков, направление пакета данных на следующую таблицу потоков для продолжения обработки; или
прием, первичным коммутатором, пакета данных, и когда элемент потока, согласующийся с пакетом данных, включает в себя инструкцию ретрансляции коммутатора, инициирование защиты среды конвейера для генерации пакета инкапсуляции, и отправку пакета инкапсуляции на расширенный коммутатор, соответствующий следующей таблице потоков.
[0022] Согласно четвертому или пятому возможному варианту реализации второго аспекта, в шестом возможном варианте реализации, инициирование, первичным коммутатором, защиты среды конвейера включает в себя:
инкапсулирование, первичным коммутатором, пакета данных и соответствующей информации для обработки пакета данных в пакет инкапсуляции, причем соответствующая информация для обработки пакета данных включает в себя, по меньшей мере, числовой ID следующей таблицы потоков, и дополнительно включает в себя любое количество из следующей информации: входного порта (Ingress port), набора действий (Action set), в данный момент соответствующего пакету данных, и метаданных (Metadata).
[0023] Согласно любому из возможных вариантов реализации с четвертого по шестой второго аспекта, в седьмом возможном варианте реализации, защита среды конвейера используется для того, чтобы расширенный коммутатор, соответствующий следующей таблице потоков, мог разбирать пакет инкапсуляции, принятый расширенным коммутатором, и получать разобранную информацию, с тем, чтобы осуществлять восстановление среды конвейера согласно разобранной информации и направлять пакет данных на следующую таблицу потоков для продолжения обработки, причем разобранная информация включает в себя пакет данных и соответствующую информацию для обработки пакета данных.
[0024] Согласно третьему аспекту, вариант осуществления настоящего изобретения предусматривает способ коммутационной обработки, причем способ выполняется контроллером и логическим коммутатором, логический коммутатор включает в себя множественные физические коммутаторы, множественные физические коммутаторы включают в себя первичный коммутатор и расширенный коммутатор, и расширенный коммутатор включает в себя первый расширенный коммутатор и второй расширенный коммутатор, причем контроллер подключен, по меньшей мере, к первичному коммутатору, первичный коммутатор подключен, по меньшей мере, к первому расширенному коммутатору, второй расширенный коммутатор подключен, по меньшей мере, к первому расширенному коммутатору, и способ включает в себя:
прием, текущим расширенным коммутатором, информации отображения, отправленной контроллером и/или первичным коммутатором и/или другим расширенным коммутатором, причем информация отображения включает в себя отношение отображения между физическим коммутатором и каждой таблицей потоков во множественных таблицах потоков логического коммутатора;
прием, текущим расширенным коммутатором, элементов потока, соответствующих текущему расширенному коммутатору и отправленных контроллером и/или первичным коммутатором и/или другим расширенным коммутатором, причем элементы потока, принятые текущим расширенным коммутатором, являются информацией содержания каждой таблицы потоков в наборе таблиц потоков, выделенном контроллером текущему расширенному коммутатору; и
обработку, текущим расширенным коммутатором, принятого первого пакета инкапсуляции согласно элементам потока или согласно элементам потока и информации отображения, причем первый пакет инкапсуляции генерируется физическим коммутатором, в котором располагается предыдущая таблица потоков, путем инкапсулирования пакета данных, принятого физическим коммутатором, и соответствующей информации для обработки пакета данных.
[0025] В первом возможном варианте реализации третьего аспекта, в информации отображения, принятой текущим расширенным коммутатором, первая таблица потоков table0 во множественных таблицах потоков логического коммутатора соответствует первичному коммутатору.
[0026] Согласно третьему аспекту или первому возможному варианту реализации третьего аспекта, во втором возможном варианте реализации, после приема, текущим расширенным коммутатором, элементов потока, соответствующих текущему расширенному коммутатору и отправленных контроллером и/или первичным коммутатором и/или другим расширенным коммутатором, способ дополнительно включает в себя:
прием, текущим расширенным коммутатором, первого пакета инкапсуляции;
определение, текущим расширенным коммутатором, что числовой ID следующей таблицы потоков в первом пакете инкапсуляции располагается в другом физическом коммутаторе; и
ретрансляцию, текущим расширенным коммутатором согласно информации отображения, первого пакета инкапсуляции на физический коммутатор, соответствующий ID следующей таблицы потоков.
[0027] Согласно третьему аспекту или первому возможному варианту реализации третьего аспекта, в третьем возможном варианте реализации, после приема, текущим расширенным коммутатором, элементов потока, соответствующих текущему расширенному коммутатору и отправленных контроллером и/или первичным коммутатором и/или другим расширенным коммутатором, способ дополнительно включает в себя:
прием, текущим расширенным коммутатором, первого пакета инкапсуляции;
определение, текущим расширенным коммутатором, что числовой ID следующей таблицы потоков в первом пакете инкапсуляции располагается в текущем расширенном коммутаторе; и
осуществление, текущим расширенным коммутатором, восстановления среды конвейера на первом пакете инкапсуляции для получения пакета данных.
[0028] Согласно третьему возможному варианту реализации третьего аспекта, в четвертом возможном варианте реализации, осуществление, текущим расширенным коммутатором, восстановления среды конвейера на первом пакете инкапсуляции, включает в себя:
разбор, текущим расширенным коммутатором, принятого первого пакета инкапсуляции для получения разобранной информации, причем разобранная информация включает в себя пакет данных и соответствующую информацию для обработки пакета данных, причем соответствующая информация для обработки пакета данных включает в себя, по меньшей мере, ID следующей таблицы потоков, и дополнительно включает в себя любое количество из следующей информации: входного порта (Ingress port), набора действий (Action set), в данный момент соответствующего пакету данных, и метаданных (Metadata); и
осуществление, текущим расширенным коммутатором, восстановления среды конвейера согласно разобранной информации, и направление пакета данных на следующую таблицу потоков для продолжения обработки.
[0029] Согласно третьему возможному варианту реализации третьего аспекта, в пятом возможном варианте реализации, элементы потока, принятые текущим расширенным коммутатором, включают в себя элемент потока, используемый для осуществления восстановления конвейера и отправленный контроллером; и осуществление, текущим расширенным коммутатором, восстановления среды конвейера на первом пакете инкапсуляции, включает в себя:
добавление, текущим расширенным коммутатором, элемента потока, используемого для осуществления восстановления конвейера, в первую таблицу потоков table0' текущего расширенного коммутатора; и
осуществление, текущим расширенным коммутатором, восстановления среды конвейера на первом пакете инкапсуляции с использованием элемента потока, добавленного в table0'.
[0030] Согласно пятому возможному варианту реализации третьего аспекта, в шестом возможном варианте реализации, первый пакет инкапсуляции включает в себя ID следующей таблицы потоков, и элемент потока, используемый для осуществления восстановления конвейера, включает в себя часть согласования и исполнимую инструкцию, причем исполнимая инструкция включает в себя инструкцию восстановления таблицы потоков и/или инструкцию перехода таблицы потоков; и осуществление, текущим расширенным коммутатором, восстановления среды конвейера на первом пакете инкапсуляции с использованием элемента потока, добавленного в table0', включает в себя:
согласование, текущим расширенным коммутатором, первого пакета инкапсуляции с использованием элемента потока в table0'; и
когда элемент потока в table0' успешно согласован, выполнение, текущим расширенным коммутатором, инструкции восстановления таблицы потоков и/или инструкции перехода таблицы потоков в согласованном элементе потока последовательно согласно результату согласования.
[0031] Согласно любому из возможных вариантов реализации с третьего по шестой третьего аспекта, в четвертом возможном варианте реализации, после осуществления, текущим расширенным коммутатором, восстановления среды конвейера на первом пакете инкапсуляции для получения пакета данных, способ дополнительно включает в себя:
при получении пакета данных, обработка, текущим расширенным коммутатором, пакета данных с использованием текущей таблицы потоков, и определение положения следующей таблицы потоков согласно информации отображения; и
когда следующая таблица потоков располагается в текущем расширенном коммутаторе, направление, текущим расширенным коммутатором, пакета данных на следующую таблицу потоков для продолжения обработки; или
когда следующая таблица потоков располагается в другом расширенном коммутаторе, инициирование, текущим расширенным коммутатором, защиты среды конвейера для генерации второго пакета инкапсуляции, и отправку второго пакета инкапсуляции на расширенный коммутатор, соответствующий следующей таблице потоков.
[0032] Согласно любому из возможных вариантов реализации с третьего по шестой третьего аспекта, в восьмом возможном варианте реализации, способ дополнительно включает в себя:
прием, текущим расширенным коммутатором, элемента потока, который включает в себя инструкцию перехода таблицы потоков или инструкцию ретрансляции коммутатора и отправлен контроллером, причем инструкция перехода таблицы потоков или инструкция ретрансляции коммутатора в элементе потока определяется контроллером согласно тому, располагается ли следующая таблица потоков в элементе потока в текущем расширенном коммутаторе, и, если да, элемент потока включает в себя инструкцию перехода таблицы потоков, в противном случае, элемент потока включает в себя инструкцию ретрансляции коммутатора; и
после осуществления, текущим расширенным коммутатором, восстановления среды конвейера на первом пакете инкапсуляции, способ дополнительно включает в себя:
получение, текущим расширенным коммутатором, пакета данных в первом пакете инкапсуляции, и когда элемент потока, согласующийся с пакетом данных, включает в себя инструкцию перехода таблицы потоков, направление пакета данных на следующую таблицу потоков для продолжения обработки; или
получение, текущим расширенным коммутатором, пакета данных в первом пакете инкапсуляции, и когда элемент потока, согласующийся с пакетом данных, включает в себя инструкцию ретрансляции коммутатора, инициирование защиты среды конвейера для генерации второго пакета инкапсуляции, и отправку второго пакета инкапсуляции на расширенный коммутатор, соответствующий следующей таблице потоков.
[0033] Согласно седьмому или восьмому возможному варианту реализации третьего аспекта, в девятом возможном варианте реализации, инициирование, текущим расширенным коммутатором, защиты среды конвейера, включает в себя:
инкапсулирование, текущим расширенным коммутатором, пакета данных и соответствующей информации для обработки пакета данных во второй пакет инкапсуляции, причем соответствующая информация для обработки пакета данных включает в себя, по меньшей мере, ID следующей таблицы потоков, и дополнительно включает в себя любое количество из следующей информации: входного порта (Ingress port), набора действий (Action set), в данный момент соответствующего пакету данных, и метаданных (Metadata).
[0034] Согласно четвертому аспекту, вариант осуществления настоящего изобретения предусматривает устройство коммутационной обработки, причем устройство располагается в контроллере, подключенном к логическому коммутатору, логический коммутатор включает в себя, по меньшей мере, два физических коммутатора, и устройство включает в себя:
модуль выделения, выполненный с возможностью выделения каждой таблицы потоков во множественных таблицах потоков логического коммутатора каждому физическому коммутатору, причем множественные таблицы потоков являются конвейером логического коммутатора; и
модуль отправки, выполненный с возможностью отправки информации отображения, благодаря чему, каждый физический коммутатор получает информацию отображения, причем информация отображения включает в себя отношение отображения между физическим коммутатором и каждой таблицей потоков во множественных таблицах потоков; причем
модуль отправки дополнительно выполнен с возможностью отправки элементов потока на логический коммутатор, благодаря чему, каждый физический коммутатор получает элементы потока, соответствующие каждому физическому коммутатору, и обрабатывает принятый пакет данных согласно элементам потока или согласно элементам потока и информации отображения, причем элементы потока являются информацией содержания каждой таблицы потоков в наборе таблиц потоков, выделенном контроллером каждому физическому коммутатору.
[0035] В первом возможном варианте реализации четвертого аспекта, по меньшей мере, два физических коммутатора включают в себя первичный коммутатор и первый расширенный коммутатор, причем контроллер подключен, по меньшей мере, к первичному коммутатору, и первый расширенный коммутатор подключен, по меньшей мере, к первичному коммутатору;
тот факт, что модуль отправки выполнен с возможностью отправки информации отображения, включает в себя: отправку информации отображения, по меньшей мере, на первичный коммутатор, благодаря чему, первичный коммутатор принимает информацию отображения, и информация отображения, принятая первым расширенным коммутатором, включает в себя информацию отображения, отправленную контроллером и/или первичным коммутатором; и
тот факт, что модуль отправки дополнительно выполнен с возможностью отправки элементов потока на логический коммутатор, включает в себя: отправку элементов потока логического коммутатора, по меньшей мере, на первичный коммутатор, благодаря чему, элементы потока, принятые первичным коммутатором, включают в себя элементы потока, соответствующие первичному коммутатору, или элементы потока, соответствующие каждому физическому коммутатору, и элементы потока, принятые первым расширенным коммутатором, включают в себя элементы потока, отправленные контроллером и/или первичным коммутатором.
[0036] Согласно первому возможному варианту реализации четвертого аспекта, во втором возможном варианте реализации, физические коммутаторы дополнительно включают в себя второй расширенный коммутатор, и второй расширенный коммутатор подключен, по меньшей мере, к первому расширенному коммутатору;
тот факт, что модуль отправки выполнен с возможностью отправки информации отображения, включает в себя: отправку информации отображения, по меньшей мере, на первичный коммутатор, благодаря чему, первичный коммутатор принимает информацию отображения, причем информация отображения, принятая первым расширенным коммутатором, включает в себя информацию отображения, отправленную контроллером и/или первичным коммутатором, и информация отображения, принятая вторым расширенным коммутатором, включает в себя информацию отображения, отправленную контроллером и/или первичным коммутатором и/или первым расширенным коммутатором; и
тот факт, что модуль отправки дополнительно выполнен с возможностью отправки элементов потока на логический коммутатор, включает в себя: отправку элементов потока логического коммутатора, по меньшей мере, на первичный коммутатор, благодаря чему, элементы потока, принятые первичным коммутатором, включают в себя элементы потока, соответствующие первичному коммутатору, или элементы потока, соответствующие первичному коммутатору, и элементы потока, соответствующие первому расширенному коммутатору и/или второму расширенному коммутатору, элементы потока,