СПОСОБ, УСТРОЙСТВО И СИСТЕМА ОБРАБОТКИ ПАКЕТОВ
METHOD, DEVICE, AND SYSTEM FOR PACKAGE PROCESSING

Область техники, к которой относится изобретение
Настоящее изобретение относится к области техники связи, и в частности, к способу, устройству и системе обработки пакетов.
Уровень техники
В современной сети связи, предусмотрено множество сложных сетевых устройств, таких как маршрутизатор, система управления сетью, коммутатор, брандмауэр и различные типы серверов. Эти устройства поддерживают различные типы сетевых протоколов, с тем чтобы реализовывать межсетевое взаимодействие между сетевыми элементами. Поскольку каждое устройство имеет собственный независимый модуль управления, развертывание и управление сетью является очень сложным вследствие такого распределенного развертывания модулей управления. Чтобы модифицировать управляющий параметр или обновлять модуль управления, оператор сети должен отдельно управлять каждым устройством.
Чтобы достигать гибкого и управляемого развертывания сетевых элементов, в отрасли предложен принцип программно-конфигурируемых сетей (сокращенно, программно-конфигурируемой сети, SDN). Посредством SDN, управляющая логика сетевого элемента разъединяется от функции перенаправления, и управляющая логика развертывается централизованно, так что работы по управлению и обслуживанию сети могут реализовываться просто посредством управления устройством плоскости управления. Таким образом, повышается эффективность управления сетью, и упрощается устройство плоскости перенаправления, что помогает достигать высокой производительности и возможности многократного использования устройства перенаправления. В настоящее время, идея SDN широко применяется к сетям центров обработки и хранения данных и сетям связи.
Предшествующий уровень техники предоставляет способ для разъединения управления от перенаправления в SDN, причем сеть включает в себя плоскость управления и устройство плоскости перенаправления, и плоскость управления управляет устройством плоскости перенаправления посредством доставки информации согласования потоков и соответствующего контекста, с тем чтобы обрабатывать пакет данных пользователя. Информация согласования потоков используется для того, чтобы определять поток услуг, которому принадлежит пакет, и контекст указывает конкретную функцию обработки. Каждый поток услуг может соответствовать или может быть ассоциирован с несколькими контекстами, и эти контексты являются независимыми друг от друга, с тем чтобы достигать относительной независимости между различными типами обработки пакета детализации потоков, за счет этого упрощая параллельную обработку и расширение характеристик обработки.
В предшествующем уровне техники, поскольку устройство плоскости перенаправления обрабатывает все пакеты согласно контекстам, налагаются относительно высокие требования на устройство плоскости перенаправления, и нагрузка на устройство плоскости перенаправления является относительно большой, что является плохим для повышения общей производительности сети.
Сущность изобретения
Варианты осуществления настоящего изобретения относятся к области техники связи и предоставляют способ обработки пакетов, так что контекстная обработка может отдельно выполняться для пакета посредством использования распределенных устройств плоскости перенаправления, с тем чтобы улучшать балансировку нагрузки в ходе контекстной обработки сетевого пакета.
Согласно первому аспекту, предусмотрена система обработки пакетов, включающая в себя:
- входной сетевой элемент, сконфигурированный с возможностью принимать пакет данных извне системы обработки пакетов и отправлять пакет данных в обрабатывающий сетевой элемент согласно записи входного потока, причем запись входного потока включает в себя информацию описания потока и индикатор обрабатывающего сетевого элемента, информация описания потока согласуется с пакетом данных, и индикатор обрабатывающего сетевого элемента используется для того, чтобы указывать обрабатывающий сетевой элемент, который обрабатывает пакет данных после входного сетевого элемента;
- обрабатывающий сетевой элемент, сконфигурированный с возможностью принимать пакет данных из входного сетевого элемента и выполнять контекстную обработку для пакета данных согласно индикатору контекстной обработки, причем:
- индикатор контекстной обработки используется для того, чтобы указывать контекстную обработку, выполняемую для пакета данных.
В отношении первого аспекта, в первом возможном способе реализации:
- запись входного потока дополнительно включает в себя идентификатор потока инкапсуляции, причем идентификатор потока инкапсуляции используется для того, чтобы идентифицировать поток услуг, которому принадлежит пакет данных;
- входной сетевой элемент дополнительно сконфигурирован с возможностью присоединять идентификатор потока инкапсуляции к пакету данных; и
- обрабатывающий сетевой элемент сконфигурирован с возможностью получать идентификатор потока инкапсуляции из пакета данных, получать запись потока обработки согласно идентификатору потока инкапсуляции и выполнять контекстную обработку для пакета данных согласно записи потока обработки, причем:
- запись потока обработки включает в себя идентификатор потока согласования и индикатор контекстной обработки, и идентификатор потока согласования согласуется с идентификатором потока инкапсуляции.
В отношении первого возможного способа реализации, во втором возможном способе реализации:
- запись входного потока дополнительно включает в себя индикатор входной инкапсуляции, причем индикатор входной инкапсуляции используется для того, чтобы указывать присоединение идентификатора потока инкапсуляции к пакету данных; и
- входной сетевой элемент сконфигурирован с возможностью присоединять идентификатор потока инкапсуляции к пакету данных согласно индикатору входной инкапсуляции.
В отношении первого или второго возможного способа реализации, в третьем возможном способе реализации:
- обрабатывающий сетевой элемент дополнительно сконфигурирован с возможностью: когда обработанный пакет данных не включает в себя идентификатор потока инкапсуляции, присоединять идентификатор потока к обработанному пакету данных, причем идентификатор потока представляет собой идентификатор потока инкапсуляции, либо когда запись потока обработки дополнительно включает в себя идентификатор нового потока инкапсуляции, идентификатор потока представляет собой идентификатор нового потока инкапсуляции.
В отношении третьего возможного способа реализации, в четвертом возможном способе реализации:
- запись потока обработки дополнительно включает в себя индикатор инкапсуляции обработки; индикатор инкапсуляции обработки используется для того, чтобы указывать присоединение идентификатора потока к обработанному пакету данных; и
- обрабатывающий сетевой элемент дополнительно сконфигурирован с возможностью присоединять идентификатор потока к обработанному пакету данных согласно индикатору инкапсуляции обработки.
В отношении любого возможного способа реализации из первого-четвертого возможных способов реализации, в пятом возможном способе реализации:
- когда запись потока обработки не включает в себя индикатор повторно обрабатывающего сетевого элемента, обрабатывающий сетевой элемент дополнительно сконфигурирован с возможностью отправлять обработанный пакет данных за пределы системы обработки пакетов; или
- когда запись потока обработки дополнительно включает в себя индикатор повторно обрабатывающего сетевого элемента, обрабатывающий сетевой элемент дополнительно сконфигурирован с возможностью отправлять обработанный пакет данных в следующий обрабатывающий сетевой элемент согласно индикатору повторно обрабатывающего сетевого элемента, причем:
- индикатор повторно обрабатывающего сетевого элемента используется для того, чтобы указывать следующий обрабатывающий сетевой элемент, который обрабатывает пакет данных после обрабатывающего сетевого элемента.
В отношении любого возможного способа реализации из первого-пятого возможных способов реализации, в шестом возможном способе реализации:
- запись входного потока и запись потока обработки локально конфигурируются или отправляются посредством управляющего сетевого элемента, причем управляющий сетевой элемент сконфигурирован с возможностью управлять перенаправлением или обработкой, выполняемой посредством входного сетевого элемента и обрабатывающего сетевого элемента для пакета данных.
В отношении первого аспекта, в седьмом возможном способе реализации:
- индикатор обрабатывающего сетевого элемента включает в себя список индикаторов контекстной обработки, причем список индикаторов контекстной обработки включает в себя индикатор контекстной обработки;
- входной сетевой элемент сконфигурирован с возможностью присоединять список индикаторов контекстной обработки к пакету данных, определять то, что следующая контекстная обработка, которая должна выполняться для пакета данных, представляет собой контекстную обработку, указываемую посредством индикатора контекстной обработки, и отправлять пакет данных в обрабатывающий сетевой элемент согласно соответствию между индикатором контекстной обработки и обрабатывающим сетевым элементом; и
- обрабатывающий сетевой элемент сконфигурирован с возможностью получать список индикаторов контекстной обработки из пакета данных и выполнять контекстную обработку для пакета данных согласно индикатору контекстной обработки.
В отношении седьмого возможного способа реализации, в восьмом возможном способе реализации:
- список индикаторов контекстной обработки дополнительно включает в себя адресную информацию обрабатывающего сетевого элемента, причем индикатор контекстной обработки соответствует адресной информации обрабатывающего сетевого элемента; и
- входной сетевой элемент сконфигурирован с возможностью отправлять пакет данных в обрабатывающий сетевой элемент согласно адресной информации, которая соответствует индикатору контекстной обработки, обрабатывающего сетевого элемента.
В отношении седьмого или восьмого возможного способа реализации, в девятом возможном способе реализации:
- когда список индикаторов контекстной обработки не включает в себя индикатор другой контекстной обработки, обрабатывающий сетевой элемент дополнительно сконфигурирован с возможностью отправлять обработанный пакет данных за пределы системы обработки пакетов; или
- когда список индикаторов контекстной обработки дополнительно включает в себя индикатор другой контекстной обработки, обрабатывающий сетевой элемент дополнительно сконфигурирован с возможностью определять то, что следующая контекстная обработка, которая должна выполняться для пакета данных, представляет собой контекстную обработку, указываемую посредством индикатора другой контекстной обработки, и после того, как обрабатывающий сетевой элемент выполняет контекстную обработку для пакета данных, отправлять обработанный пакет данных в другой обрабатывающий сетевой элемент согласно соответствию между индикатором другой контекстной обработки и другим обрабатывающим сетевым элементом, причем:
- индикатор другой контекстной обработки используется для того, чтобы указывать контекстную обработку, выполняемую для пакета данных.
В отношении девятого возможного способа реализации, в десятом возможном способе реализации, список индикаторов контекстной обработки дополнительно включает в себя адресную информацию другого обрабатывающего сетевого элемента, причем индикатор другой контекстной обработки соответствует адресной информации другого обрабатывающего сетевого элемента; и
- обрабатывающий сетевой элемент сконфигурирован с возможностью отправлять обработанный пакет данных в другой обрабатывающий сетевой элемент согласно адресной информации, которая соответствует индикатору другой контекстной обработки, другого обрабатывающего сетевого элемента.
В отношении седьмого-десятого возможных способов реализации, в одиннадцатом возможном способе реализации, запись входного потока локально конфигурируется или отправляется посредством управляющего сетевого элемента, причем управляющий сетевой элемент сконфигурирован с возможностью управлять перенаправлением, выполняемым посредством входного сетевого элемента для пакета данных.
В отношении первого аспекта или любого из возможных способов реализации первого аспекта, в двенадцатом возможном способе реализации:
- запись входного потока дополнительно включает в себя индикатор входной контекстной обработки, причем индикатор входной контекстной обработки используется для того, чтобы указывать контекстную обработку, выполняемую для пакета данных; и
- входной сетевой элемент дополнительно сконфигурирован с возможностью осуществлять контекстную обработку для пакета данных согласно индикатору входной контекстной обработки.
Согласно второму аспекту, предусмотрен входной сетевой элемент, включающий в себя:
- приемный блок, сконфигурированный с возможностью принимать пакет данных;
- блок отправки, сконфигурированный с возможностью отправлять пакет данных, принимаемый посредством приемного блока, в обрабатывающий сетевой элемент согласно записи входного потока, так что обрабатывающий сетевой элемент выполняет контекстную обработку для пакета данных, причем:
- запись входного потока включает в себя информацию описания потока и индикатор обрабатывающего сетевого элемента, информация описания потока согласуется с пакетом данных, и индикатор обрабатывающего сетевого элемента используется для того, чтобы указывать обрабатывающий сетевой элемент, который обрабатывает пакет данных после входного сетевого элемента.
В отношении второго аспекта, в первом возможном способе реализации:
- запись входного потока дополнительно включает в себя идентификатор потока инкапсуляции, причем идентификатор потока инкапсуляции используется для того, чтобы идентифицировать поток услуг, которому принадлежит пакет данных;
- входной сетевой элемент дополнительно включает в себя блок инкапсуляции идентификаторов потоков, сконфигурированный с возможностью присоединять идентификатор потока инкапсуляции к пакету данных, так что обрабатывающий сетевой элемент получает идентификатор потока инкапсуляции из пакета данных, получает запись потока обработки согласно идентификатору потока инкапсуляции и выполняет контекстную обработку для пакета данных согласно записи потока обработки.
В отношении первого возможного способа реализации, во втором возможном способе реализации:
- запись входного потока дополнительно включает в себя индикатор входной инкапсуляции, причем индикатор входной инкапсуляции используется для того, чтобы указывать присоединение идентификатора потока инкапсуляции к пакету данных; и
- блок инкапсуляции идентификаторов потоков сконфигурирован с возможностью присоединять идентификатор потока инкапсуляции к пакету данных согласно индикатору входной инкапсуляции.
В отношении первого или второго возможного способа реализации, в третьем возможном способе реализации:
- запись входного потока локально конфигурируется или отправляется посредством управляющего сетевого элемента, причем управляющий сетевой элемент сконфигурирован с возможностью управлять перенаправлением или обработкой, выполняемой посредством входного сетевого элемента для пакета данных.
В отношении второго аспекта, в четвертом возможном способе реализации:
- индикатор обрабатывающего сетевого элемента включает в себя список индикаторов контекстной обработки, причем список индикаторов контекстной обработки включает в себя индикатор контекстной обработки;
- входной сетевой элемент дополнительно включает в себя блок присоединения индикаторов обработки, сконфигурированный с возможностью присоединять список индикаторов контекстной обработки к пакету данных; и
- блок отправки сконфигурирован с возможностью определять то, что следующая контекстная обработка, которая должна выполняться для пакета данных, представляет собой контекстную обработку, указываемую посредством индикатора контекстной обработки, и отправлять пакет данных в обрабатывающий сетевой элемент согласно соответствию между индикатором контекстной обработки и обрабатывающим сетевым элементом.
В отношении четвертого возможного способа реализации, в пятом возможном способе реализации:
- список индикаторов контекстной обработки дополнительно включает в себя адресную информацию обрабатывающего сетевого элемента, причем индикатор контекстной обработки соответствует адресной информации обрабатывающего сетевого элемента; и
- блок отправки сконфигурирован с возможностью отправлять пакет данных в обрабатывающий сетевой элемент согласно адресной информации, которая соответствует индикатору контекстной обработки, обрабатывающего сетевого элемента.
В отношении четвертого возможного способа реализации или пятого возможного способа реализации, в шестом возможном способе реализации, запись входного потока локально конфигурируется или отправляется посредством управляющего сетевого элемента, причем управляющий сетевой элемент сконфигурирован с возможностью управлять перенаправлением, выполняемым посредством входного сетевого элемента для пакета данных.
В отношении второго аспекта или любого из возможных способов реализации второго аспекта, в седьмом возможном способе реализации:
- запись входного потока дополнительно включает в себя индикатор входной контекстной обработки, причем индикатор входной контекстной обработки используется для того, чтобы указывать контекстную обработку, выполняемую для пакета данных; входной сетевой элемент дополнительно включает в себя блок обработки; и
- блок обработки сконфигурирован с возможностью осуществлять контекстную обработку для пакета данных согласно индикатору входной контекстной обработки.
Согласно третьему аспекту, предусмотрен обрабатывающий сетевой элемент, включающий в себя:
- приемный блок, сконфигурированный с возможностью принимать пакет данных; и
- блок обработки, сконфигурированный с возможностью осуществлять, согласно индикатору контекстной обработки, контекстную обработку для пакета данных, принимаемого посредством приемного блока, причем:
- индикатор контекстной обработки используется для того, чтобы указывать контекстную обработку, выполняемую для пакета данных.
В отношении третьего аспекта, в первом возможном способе реализации, блок обработки сконфигурирован с возможностью получать идентификатор потока инкапсуляции из пакета данных, получать запись потока обработки согласно идентификатору потока инкапсуляции и выполнять контекстную обработку для пакета данных согласно записи потока обработки, причем:
- идентификатор потока инкапсуляции используется для того, чтобы идентифицировать поток услуг, которому принадлежит пакет данных, запись потока обработки включает в себя идентификатор потока согласования и индикатор контекстной обработки, и идентификатор потока согласования согласуется с идентификатором потока инкапсуляции.
В отношении первого возможного способа реализации, во втором возможном способе реализации:
- когда обработанный пакет данных не включает в себя идентификатор потока инкапсуляции, блок обработки дополнительно сконфигурирован с возможностью присоединять идентификатор потока к обработанному пакету данных, причем идентификатор потока представляет собой идентификатор потока инкапсуляции, либо когда запись потока обработки дополнительно включает в себя идентификатор нового потока инкапсуляции, идентификатор потока представляет собой идентификатор нового потока инкапсуляции.
В отношении второго возможного способа реализации, в третьем возможном способе реализации:
- запись потока обработки дополнительно включает в себя индикатор инкапсуляции обработки; индикатор инкапсуляции обработки используется для того, чтобы указывать присоединение идентификатора потока к обработанному пакету данных; и
- блок обработки сконфигурирован с возможностью присоединять идентификатор потока к обработанному пакету данных согласно индикатору инкапсуляции обработки.
В отношении любого возможного способа реализации из первого-третьего возможных способов реализации, в четвертом возможном способе реализации, обрабатывающий сетевой элемент дополнительно включает в себя блок отправки; и
- когда запись потока обработки не включает в себя индикатор повторно обрабатывающего сетевого элемента, блок отправки отправляет пакет данных, обработанный посредством блока обработки, наружу; или
- когда запись потока обработки дополнительно включает в себя индикатор повторно обрабатывающего сетевого элемента, блок отправки отправляет пакет данных, обработанный посредством блока обработки, в следующий обрабатывающий сетевой элемент согласно индикатору повторно обрабатывающего сетевого элемента, причем:
- индикатор повторно обрабатывающего сетевого элемента используется для того, чтобы указывать следующий обрабатывающий сетевой элемент, который обрабатывает пакет данных после обрабатывающего сетевого элемента.
В отношении любого возможного способа реализации из первого-четвертого возможных способов реализации, в пятом возможном способе реализации:
- запись потока обработки локально конфигурируется или отправляется посредством управляющего сетевого элемента, причем управляющий сетевой элемент сконфигурирован с возможностью управлять перенаправлением или обработкой, выполняемой посредством обрабатывающего сетевого элемента для пакета данных.
В отношении третьего аспекта, в шестом возможном способе реализации, блок обработки сконфигурирован с возможностью получать список индикаторов контекстной обработки из пакета данных, причем список индикаторов контекстной обработки включает в себя индикатор контекстной обработки, и выполнять контекстную обработку для пакета данных согласно индикатору контекстной обработки.
В отношении шестого возможного способа реализации, в седьмом возможном способе реализации, обрабатывающий сетевой элемент дополнительно включает в себя блок отправки; и
- когда список индикаторов контекстной обработки не включает в себя индикатор другой контекстной обработки, блок отправки отправляет пакет данных, обработанный посредством блока обработки, наружу;
- или:
- когда список индикаторов контекстной обработки дополнительно включает в себя индикатор другой контекстной обработки, блок отправки определяет то, что следующая контекстная обработка, которая должна выполняться для пакета данных, представляет собой контекстную обработку, указываемую посредством индикатора другой контекстной обработки, и после того, как блок обработки выполняет контекстную обработку для пакета данных, отправляет пакет данных, обработанный посредством блока обработки, в другой обрабатывающий сетевой элемент согласно соответствию между индикатором другой контекстной обработки и другим обрабатывающим сетевым элементом, причем:
- индикатор другой контекстной обработки используется для того, чтобы указывать контекстную обработку, выполняемую для пакета данных.
В отношении седьмого возможного способа реализации, в восьмом возможном способе реализации, список индикаторов контекстной обработки дополнительно включает в себя адресную информацию другого обрабатывающего сетевого элемента, причем индикатор другой контекстной обработки соответствует адресной информации другого обрабатывающего сетевого элемента; и
- блок отправки сконфигурирован с возможностью отправлять пакет данных, обработанный посредством блока обработки, в другой обрабатывающий сетевой элемент согласно адресной информации, которая соответствует индикатору другой контекстной обработки, другого обрабатывающего сетевого элемента.
Согласно четвертому аспекту, предусмотрен способ обработки пакетов, включающий в себя:
- прием, посредством входного сетевого элемента, пакета данных, причем запись входного потока сохраняется во входном сетевом элементе, запись входного потока включает в себя информацию описания потока и индикатор обрабатывающего сетевого элемента, информация описания потока согласуется с пакетом данных, и индикатор обрабатывающего сетевого элемента используется для того, чтобы указывать обрабатывающий сетевой элемент, который обрабатывает пакет данных после входного сетевого элемента; и
- отправку, посредством входного сетевого элемента, пакета данных в обрабатывающий сетевой элемент согласно записи входного потока, так что обрабатывающий сетевой элемент выполняет контекстную обработку для пакета данных.
В отношении четвертого аспекта, в первом возможном способе реализации:
- запись входного потока дополнительно включает в себя идентификатор потока инкапсуляции, причем идентификатор потока инкапсуляции используется для того, чтобы идентифицировать поток услуг, которому принадлежит пакет данных; и способ дополнительно включает в себя:
- присоединение, посредством входного сетевого элемента, идентификатора потока инкапсуляции к пакету данных, так что обрабатывающий сетевой элемент получает идентификатор потока инкапсуляции из пакета данных, получает запись потока обработки согласно идентификатору потока инкапсуляции и выполняет контекстную обработку для пакета данных согласно записи потока обработки.
В отношении первого возможного способа реализации, во втором возможном способе реализации:
- запись входного потока дополнительно включает в себя индикатор входной инкапсуляции, причем индикатор входной инкапсуляции используется для того, чтобы указывать присоединение идентификатора потока инкапсуляции к пакету данных; и присоединение, посредством входного сетевого элемента, идентификатора потока инкапсуляции к пакету данных включает в себя:
- присоединение, посредством входного сетевого элемента, идентификатора потока инкапсуляции к пакету данных согласно индикатору входной инкапсуляции.
В отношении первого или второго возможного способа реализации, в третьем возможном способе реализации:
- запись входного потока локально конфигурируется или отправляется посредством управляющего сетевого элемента, причем управляющий сетевой элемент сконфигурирован с возможностью управлять перенаправлением или обработкой, выполняемой посредством входного сетевого элемента для пакета данных.
В отношении четвертого аспекта, в четвертом возможном способе реализации:
- индикатор обрабатывающего сетевого элемента включает в себя список индикаторов контекстной обработки, причем список индикаторов контекстной обработки включает в себя индикатор контекстной обработки;
- способ дополнительно включает в себя: присоединение, посредством входного сетевого элемента, списка индикаторов контекстной обработки к пакету данных; и
- отправка, посредством входного сетевого элемента, пакета данных в обрабатывающий сетевой элемент согласно записи входного потока включает в себя:
- определение, посредством входного сетевого элемента, того, что следующая контекстная обработка, которая должна выполняться для пакета данных, представляет собой контекстную обработку, указываемую посредством индикатора контекстной обработки, и отправку пакета данных в обрабатывающий сетевой элемент согласно соответствию между индикатором контекстной обработки и обрабатывающим сетевым элементом.
В отношении четвертого возможного способа реализации, в пятом возможном способе реализации:
- список индикаторов контекстной обработки дополнительно включает в себя адресную информацию обрабатывающего сетевого элемента, причем индикатор контекстной обработки соответствует адресной информации обрабатывающего сетевого элемента; и
- отправка пакета данных в обрабатывающий сетевой элемент согласно соответствию между индикатором контекстной обработки и обрабатывающим сетевым элементом включает в себя:
- отправку, посредством входного сетевого элемента, пакета данных в обрабатывающий сетевой элемент согласно адресной информации, которая соответствует индикатору контекстной обработки, обрабатывающего сетевого элемента.
В отношении четвертого возможного способа реализации или пятого возможного способа реализации, в шестом возможном способе реализации, запись входного потока локально конфигурируется или отправляется посредством управляющего сетевого элемента, причем управляющий сетевой элемент сконфигурирован с возможностью управлять перенаправлением, выполняемым посредством входного сетевого элемента для пакета данных.
В отношении четвертого аспекта или любого из возможных способов реализации четвертого аспекта, в седьмом возможном способе реализации:
- запись входного потока дополнительно включает в себя индикатор входной контекстной обработки, причем индикатор входной контекстной обработки используется для того, чтобы указывать контекстную обработку, выполняемую для пакета данных; и способ дополнительно включает в себя:
- выполнение, посредством входного сетевого элемента, контекстной обработки для пакета данных согласно индикатору входной контекстной обработки.
Согласно пятому аспекту, предусмотрен способ обработки пакетов, включающий в себя:
- прием, посредством обрабатывающего сетевого элемента, пакета данных; и
- выполнение контекстной обработки для пакета данных согласно индикатору контекстной обработки, причем:
- индикатор контекстной обработки используется для того, чтобы указывать контекстную обработку, выполняемую для пакета данных.
В отношении пятого аспекта, в первом возможном способе реализации, выполнение контекстной обработки для пакета данных согласно индикатору контекстной обработки включает в себя:
- получение, посредством обрабатывающего сетевого элемента, идентификатора потока инкапсуляции из пакета данных, получение записи потока обработки согласно идентификатору потока инкапсуляции и выполнение контекстной обработки для пакета данных согласно записи потока обработки, причем:
- идентификатор потока инкапсуляции используется для того, чтобы идентифицировать поток услуг, которому принадлежит пакет данных, запись потока обработки включает в себя идентификатор потока согласования и индикатор контекстной обработки, и идентификатор потока согласования согласуется с идентификатором потока инкапсуляции.
В отношении первого возможного способа реализации, во втором возможном способе реализации, способ дополнительно включает в себя:
- когда обработанный пакет данных не включает в себя идентификатор потока инкапсуляции, присоединение, посредством обрабатывающего сетевого элемента, идентификатора потока к обработанному пакету данных, причем идентификатор потока представляет собой идентификатор потока инкапсуляции, либо когда запись потока обработки дополнительно включает в себя идентификатор нового потока инкапсуляции, идентификатор потока представляет собой идентификатор нового потока инкапсуляции.
В отношении второго возможного способа реализации, в третьем возможном способе реализации:
- запись потока обработки дополнительно включает в себя индикатор инкапсуляции обработки; индикатор инкапсуляции обработки используется для того, чтобы указывать присоединение идентификатора потока к обработанному пакету данных; и способ дополнительно включает в себя:
- присоединение, посредством обрабатывающего сетевого элемента, идентификатора потока к обработанному пакету данных согласно индикатору инкапсуляции обработки.
В отношении любого возможного способа реализации из первого-третьего возможных способов реализации, в четвертом возможном способе реализации, способ дополнительно включает в себя:
- когда запись потока обработки не включает в себя индикатор повторно обрабатывающего сетевого элемента, отправку, посредством обрабатывающего сетевого элемента, обработанного пакета данных наружу; или
- когда запись потока обработки дополнительно включает в себя индикатор повторно обрабатывающего сетевого элемента, отправку, посредством обрабатывающего сетевого элемента, обработанного пакета данных в следующий обрабатывающий сетевой элемент согласно индикатору повторно обрабатывающего сетевого элемента, причем:
- индикатор повторно обрабатывающего сетевого элемента используется для того, чтобы указывать следующий обрабатывающий сетевой элемент, который обрабатывает пакет данных после обрабатывающего сетевого элемента.
В отношении любого возможного способа реализации из первого-четвертого возможных способов реализации, в пятом возможном способе реализации:
- запись потока обработки локально конфигурируется или отправляется посредством управляющего сетевого элемента, причем управляющий сетевой элемент сконфигурирован с возможностью управлять перенаправлением или обработкой, выполняемой посредством обрабатывающего сетевого элемента для пакета данных.
В отношении пятого аспекта, в шестом возможном способе реализации, выполнение контекстной обработки для пакета данных согласно индикатору контекстной обработки включает в себя:
- получение, посредством обрабатывающего сетевого элемента, списка индикаторов контекстной обработки из пакета данных, причем список индикаторов контекстной обработки включает в себя индикатор контекстной обработки, и выполнение контекстной обработки для пакета данных согласно индикатору контекстной обработки.
В отношении шестого возможного способа реализации, в седьмом возможном способе реализации, способ дополнительно включает в себя:
- когда список индикаторов контекстной обработки не включает в себя индикатор другой контекстной обработки, отправку, посредством обрабатывающего сетевого элемента, обработанного пакета данных наружу;
- или:
- когда список индикаторов контекстной обработки дополнительно включает в себя индикатор другой контекстной обработки, определение, посредством обрабатывающего сетевого элемента, того, что следующая контекстная обработка, которая должна выполняться для пакета данных, представляет собой контекстную обработку, указываемую посредством индикатора другой контекстной обработки, и после того, как обрабатывающий сетевой элемент выполняет контекстную обработку для пакета данных, отправку обработанного пакета данных в другой обрабатывающий сетевой элемент согласно соответствию между индикатором другой контекстной обработки и другим обрабатывающим сетевым элементом, причем:
- индикатор другой контекстной обработки используется для того, чтобы указывать контекстную обработку, выполняемую для пакета данных.
В отношении седьмого возможного способа реализации, в восьмом возможном способе реализации, список индикаторов контекстной обработки дополнительно включает в себя адресную информацию другого обрабатывающего сетевого элемента, причем индикатор другой контекстной обработки соответствует адресной информации другого обрабатывающего сетевого элемента; и отправка обработанного пакета данных в другой обрабатывающий сетевой элемент включает в себя:
- отправку, посредством обрабатывающего сетевого элемента, обработанного пакета данных в другой обрабатывающий сетевой элемент согласно адресной информации, которая соответствует индикатору другой контекстной обработки, другого обрабатывающего сетевого элемента.
Согласно способу, устройству и системе обработки пакетов, которые предоставляются в вышеприведенных технических решениях, пакет перенаправляется в различные сетевые элементы для контекстной обработки, так что контекстная обработка может отдельно выполняться для пакета посредством использования распределенных устройств плоскости перенаправления, с тем чтобы улучшать балансировку нагрузки в ходе контекстной обработки сетевого пакета.
Краткое описание чертежей
Чтобы более ясно описывать технические решения в вариантах осуществления настоящего изобретения или в предшествующем уровне техники, далее кратко описываются прилагаемые чертежи, требуемые для описания вариантов осуществления или предшествующего уровня техники. Очевидно, что прилагаемые чертежи в нижеприведенном описании показывают просто некоторые варианты осуществления настоящего изобретения.
Фиг. 1 является принципиальной структурной схемой системы связи согласно варианту осуществления настоящего изобретения;
Фиг. 2 является блок-схемой последовательности операций способа обработки пакетов согласно варианту осуществления настоящего изобретения;
Фиг. 3 является блок-схемой последовательности операций другого способа обработки пакетов согласно варианту осуществления настоящего изобретения;
Фиг. 4 является блок-схемой последовательности операций способа обработки пакетов согласно другому варианту осуществления настоящего изобретения;
Фиг. 5 является блок-схемой последовательности операций способа обработки пакетов согласно еще одному другому варианту осуществления настоящего изобретения;
Фиг. 6 является блок-схемой последовательности операций способа обработки пакетов согласно еще одному другому варианту осуществления настоящего изобретения;
Фиг. 7 является блок-схемой последовательности операций способа обработки пакетов согласно другому варианту осуществления настоящего изобретения;
Фиг. 8 является блок-схемой последовательности операций способа обработки пакетов согласно еще одному другому варианту осуществления настоящего изобретения;
Фиг. 9 является блок-схемой последовательности операций способа обработки пакетов согласно еще одному другому варианту осуществления настоящего изобретения;
Фиг. 10 является блок-схемой последовательности операций способа обработки пакетов согласно другому варианту осуществления настоящего изобретения;
Фиг. 11 является блок-схемой последовательности операций способа обработки пакетов согласно еще одному другому варианту осуществления настоящего изобретения;
Фиг. 12 является принципиальной структурной схемой входного сетевого элемента согласно варианту осуществления настоящего изобретения;
Фиг. 13 является принципиальной структурной схемой обрабатывающего сетевого элемента согласно варианту осуществления настоящего изобретения;
Фиг. 14 является принципиальной структурной схемой входного сетевого элемента согласно другому варианту осуществления настоящего изобретения; и
Фиг. 15 является принципиальной структурной схемой входного сетевого элемента согласно другому варианту осуществления настоящего изобретения.
Описание вариантов осуществления
Ниже описаны технические решения в вариантах осуществления настоящего изобретения со ссылкой на прилагаемые чертежи в вариантах осуществления настоящего изобретения. Очевидно, что описанные варианты осуществления представляют собой только некоторые, но не все варианты осуществления настоящего изобретения.
Вариант осуществления настоящего изобретения применяется к программно-конфигурируемым сетям (программно-конфигурируемой сети, сокращенно SDN) и предоставляет систему обработки пакетов. Как показано на фиг. 1, система включает в себя: входной сетевой элемент 1 и, по меньшей мере, один обрабатывающий сетевой элемент (2-1-2-k).
Входной сетевой элемент 1 сконфигурирован с возможностью принимать пакет данных извне системы обработки пакетов и отправлять пакет данных в обрабатывающий сетевой элемент 2-1 (безусловно, обрабатывающий сетевой элемент в данном документе может представлять собой любой из 2-1-2-k, и 2-1 используется в данном документе в качестве примера) согласно записи входного потока, причем запись входного потока включает в себя информацию описания потока и индикатор обрабатывающего сетевого элемента, информация описания потока согласуется с пакетом данных, и индикатор обрабатывающего сетевого элемента используется для того, чтобы указывать обрабатывающий сетевой элемент 2-1, который обрабатывает пакет данных после входного сетевого элемента 1.
Обрабатывающий сетевой элемент 2-1 сконфигурирован с возможностью принимать пакет данных из входного сетевого элемента 1 и выполнять контекстную обработку для пакета данных согласно индикатору контекстной обработки.
Индикатор контекстной обработки используется для того, чтобы указывать контекстную обработку, выполняемую для пакета данных.
Согласно системе обработки пакетов, предоставленной в этом варианте осуществления настоящего изобретения, пакет перенаправляется в различные сетевые элементы для контекстной обработки, так что контекстная обработка может отдельно выполняться для пакета посредством использования распределенных устройств плоскости перенаправления, с тем чтобы улучшать балансировку нагрузки в ходе контекстной обработки сетевого пакета.
В частности, в способе реализации, предоставленном посредством этого варианта осуществления настоящего изобретения, необязательно, запись входного потока дополнительно включает в себя идентификатор потока инкапсуляции, причем идентификатор потока инкапсуляции используется для того, чтобы идентифицировать поток услуг, которому принадлежит пакет данных;
- входной сетевой элемент 1 дополнительно сконфигурирован с возможностью присоединять идентификатор потока инкапсуляции к пакету данных; и
- обрабатывающий сетевой элемент 2-1 сконфигурирован с возможностью получать идентификатор потока инкапсуляции из пакета данных, получать запись потока обработки согласно идентификатору потока инкапсуляции и выполнять контекстную обработку для пакета данных согласно записи потока обработки, причем:
- запись потока обработки включает в себя идентификатор потока согласования и индикатор контекстной обработки, и идентификатор потока согласования согласуется с идентификатором потока инкапсуляции.
Необязательно, запись входного потока дополнительно включает в себя индикатор входной инкапсуляции, причем индикатор входной инкапсуляции используется для того, чтобы указывать присоединение идентификатора потока инкапсуляции к пакету данных; и
- соответственно, входной сетевой элемент 1 сконфигурирован с возможностью присоединять идентификатор потока инкапсуляции к пакету данных согласно индикатору входной инкапсуляции.
Необязательно, обрабатывающий сетевой элемент 2-1 дополнительно сконфигурирован с возможностью: когда обработанный пакет данных не включает в себя идентификатор потока инкапсуляции, присоединять идентификатор потока к обработанному пакету данных, причем идентификатор потока представляет собой идентификатор потока инкапсуляции, либо когда запись потока обработки дополнительно включает в себя идентификатор нового потока инкапсуляции, идентификатор потока представляет собой идентификатор нового потока инкапсуляции.
Необязательно, запись потока обработки дополнительно включает в себя индикатор инкапсуляции обработки; индикатор инкапсуляции обработки используется для того, чтобы указывать присоединение идентификатора потока к обработанному пакету данных; и
- соответственно, обрабатывающий сетевой элемент 2-1 дополнительно сконфигурирован с возможностью присоединять идентификатор потока к обработанному пакету данных согласно индикатору инкапсуляции обработки.
Необязательно, когда запись потока обработки не включает в себя индикатор повторно обрабатывающего сетевого элемента, обрабатывающий сетевой элемент 1-1 дополнительно сконфигурирован с возможностью отправлять обработанный пакет данных за пределы системы обработки пакетов; или
- когда запись потока обработки дополнительно включает в себя индикатор повторно обрабатывающего сетевого элемента, обрабатывающий сетевой элемент 2-1 дополнительно сконфигурирован с возможностью отправлять обработанный пакет данных в следующий обрабатывающий сетевой элемент 2-2 согласно индикатору повторно обрабатывающего сетевого элемента, причем:
- индикатор повторно обрабатывающего сетевого элемента используется для того, чтобы указывать следующий обрабатывающий сетевой элемент, который обрабатывает пакет данных после обрабатывающего сетевого элемента 2-1.
Необязательно, система дополнительно включает в себя управляющий сетевой элемент 3, и запись входного потока и запись потока обработки локально конфигурируются или отправляются посредством управляющего сетевого элемента 3, причем управляющий сетевой элемент 3 сконфигурирован с возможностью управлять перенаправлением или обработкой, выполняемой посредством входного сетевого элемента 1 и обрабатывающего сетевого элемента 2-1 для пакета данных.
В частности, в другом способе реализации, предоставленном посредством этого варианта осуществления настоящего изобретения, необязательно, индикатор обрабатывающего сетевого элемента включает в себя список индикаторов контекстной обработки, причем список индикаторов контекстной обработки включает в себя индикатор контекстной обработки;
- соответственно, входной сетевой элемент 1 сконфигурирован с возможностью присоединять список индикаторов контекстной обработки к пакету данных, определять то, что следующая контекстная обработка, которая должна выполняться для пакета данных, представляет собой контекстную обработку, указываемую посредством индикатора контекстной обработки, и отправлять пакет данных в обрабатывающий сетевой элемент 2-1 согласно соответствию между индикатором контекстной обработки и обрабатывающим сетевым элементом 2-1; и
- соответственно, обрабатывающий сетевой элемент 2-1 сконфигурирован с возможностью получать список индикаторов контекстной обработки из пакета данных и выполнять контекстную обработку для пакета данных согласно индикатору контекстной обработки.
Необязательно, список индикаторов контекстной обработки дополнительно включает в себя адресную информацию обрабатывающего сетевого элемента 2-1, причем индикатор контекстной обработки соответствует адресной информации обрабатывающего сетевого элемента 2-1; и
- соответственно, входной сетевой элемент 1 сконфигурирован с возможностью отправлять пакет данных в обрабатывающий сетевой элемент 2-1 согласно адресной информации, которая соответствует индикатору контекстной обработки, обрабатывающего сетевого элемента 2-1.
Необязательно, когда список индикаторов контекстной обработки не включает в себя индикатор другой контекстной обработки, обрабатывающий сетевой элемент 2-1 дополнительно сконфигурирован с возможностью отправлять обработанный пакет данных за пределы системы обработки пакетов; или
- когда список индикаторов контекстной обработки дополнительно включает в себя индикатор другой контекстной обработки, обрабатывающий сетевой элемент 2-1 дополнительно сконфигурирован с возможностью определять то, что следующая контекстная обработка, которая должна выполняться для пакета данных, представляет собой контекстную обработку, указываемую посредством индикатора другой контекстной обработки, и после того, как обрабатывающий сетевой элемент выполняет контекстную обработку для пакета данных, отправлять обработанный пакет данных в другой обрабатывающий сетевой элемент 2-2 согласно соответствию между индикатором другой контекстной обработки и другим обрабатывающим сетевым элементом, причем:
- индикатор другой контекстной обработки используется для того, чтобы указывать контекстную обработку, выполняемую для пакета данных.
Необязательно, список индикаторов контекстной обработки дополнительно включает в себя адресную информацию другого обрабатывающего сетевого элемента 2-2, причем индикатор другой контекстной обработки соответствует адресной информации другого обрабатывающего сетевого элемента 2-2; и
- соответственно, обрабатывающий сетевой элемент 2-1 сконфигурирован с возможностью отправлять обработанный пакет данных в другой обрабатывающий сетевой элемент 2-2 согласно адресной информации, которая соответствует индикатору другой контекстной обработки, другого обрабатывающего сетевого элемента 2-2.
Необязательно, запись входного потока локально конфигурируется или отправляется посредством управляющего сетевого элемента 2, причем управляющий сетевой элемент 2 сконфигурирован с возможностью управлять перенаправлением, выполняемым посредством входного сетевого элемента для пакета данных.
В вышеприведенных двух способах реализации, необязательно, запись входного потока дополнительно включает в себя индикатор входной контекстной обработки, причем индикатор входной контекстной обработки используется для того, чтобы указывать контекстную обработку, выполняемую для пакета данных; и
- соответственно, входной сетевой элемент 1 дополнительно сконфигурирован с возможностью осуществлять контекстную обработку для пакета данных согласно индикатору входной контекстной обработки.
Согласно системе обработки пакетов, предоставленной в этом варианте осуществления настоящего изобретения, пакет перенаправляется в различные сетевые элементы для контекстной обработки, так что контекстная обработка может отдельно выполняться для пакета посредством использования распределенных устройств плоскости перенаправления, с тем чтобы улучшать балансировку нагрузки в ходе контекстной обработки сетевого пакета.
Вариант осуществления настоящего изобретения предоставляет способ обработки пакетов, который реализуется посредством использования вышеприведенной системы обработки пакетов. Как показано на фиг. 2, с точки зрения входного сетевого элемента, способ включает в себя следующие этапы:
101: Входной сетевой элемент принимает пакет данных.
На этапе 101, входной сетевой элемент принимает пакет данных извне системы обработки пакетов, причем запись входного потока сохраняется во входном сетевом элементе, запись входного потока включает в себя информацию описания потока и индикатор обрабатывающего сетевого элемента, информация описания потока согласуется с пакетом данных, и индикатор обрабатывающего сетевого элемента используется для того, чтобы указывать обрабатывающий сетевой элемент, который обрабатывает пакет данных после входного сетевого элемента.
102: Входной сетевой элемент отправляет пакет данных в обрабатывающий сетевой элемент согласно записи входного потока, так что обрабатывающий сетевой элемент выполняет контекстную обработку для пакета данных.
Информация описания потока может представлять собой тип информации, которая включает в себя характеристику пакета. Когда пакет данных соответствует информации характеристик пакетов, включенной в информацию описания потока, считается, что пакет данных согласуется с информацией описания потока.
Например, информация описания потока может включать в себя одно или комбинацию полей характеристик пакетов, такие как исходный адрес на уровне MAC (управления доступом к среде, управления доступом к среде), целевой MAC-адрес, исходный адрес IP (Интернет-протокола, Интернет-протокола), целевой IP-адрес, номер исходного порта, номер целевого порта, MPLS-метка (метка многопротокольной коммутации по меткам, метка многопротокольной коммутации по меткам), ToS (тип услуги, тип услуги), метка IPv6-потока (метка потока по Интернет-протоколу версия 6, метка потока по Интернет-протоколу версия 6), GRE-ключ (ключ общей инкапсуляции маршрутов, ключ общей инкапсуляции маршрутов) и GTP TEID (идентификатор конечной точки туннеля по протоколу GPRS-туннелирования, идентификатор конечной точки туннеля по протоколу туннелирования общей службы пакетной радиопередачи), и используется для того, чтобы определять то, принадлежит или нет пакет потоку услуг, который должен обрабатываться в этот раз.
Вариант осуществления настоящего изобретения предоставляет другой способ обработки пакетов, который реализуется посредством использования вышеприведенной системы обработки пакетов. Как показано на фиг. 3, с точки зрения обрабатывающего сетевого элемента, способ включает в себя следующие этапы:
201: Обрабатывающий сетевой элемент принимает пакет данных из входного сетевого элемента.
202: Обрабатывающий сетевой элемент выполняет контекстную обработку для пакета данных согласно индикатору контекстной обработки.
Индикатор контекстной обработки используется для того, чтобы указывать контекстную обработку, выполняемую для пакета данных.
Согласно способу обработки пакетов, предоставленному в этом варианте осуществления настоящего изобретения, пакет перенаправляется в различные сетевые элементы для контекстной обработки, так что контекстная обработка может отдельно выполняться для пакета посредством использования распределенных устройств плоскости перенаправления, с тем чтобы улучшать балансировку нагрузки в ходе контекстной обработки сетевого пакета.
В частности, как показано на фиг. 4, вариант осуществления настоящего изобретения предоставляет способ обработки пакетов, который реализуется посредством использования вышеприведенной системы обработки пакетов и включает в себя следующие этапы:
301: Входной сетевой элемент локально конфигурирует запись входного потока или принимает запись входного потока, отправленную посредством управляющего сетевого элемента.
Управляющий сетевой элемент сконфигурирован с возможностью управлять перенаправлением или обработкой, выполняемой посредством входного сетевого элемента и обрабатывающего сетевого элемента для пакета данных. Запись входного потока включает в себя: информацию описания потока, индикатор обрабатывающего сетевого элемента, идентификатор потока инкапсуляции и индикатор инкапсуляции. Информация описания потока согласуется с пакетом данных. Индикатор обрабатывающего сетевого элемента используется для того, чтобы указывать обрабатывающий сетевой элемент, который обрабатывает пакет данных после входного сетевого элемента. Например, информация описания потока может включать в себя одно или комбинацию полей характеристик пакетов, такие как исходный адрес на уровне MAC (управления доступом к среде, управления доступом к среде), целевой MAC-адрес, исходный адрес IP (Интернет-протокола, Интернет-протокола), целевой IP-адрес, номер исходного порта, номер целевого порта, MPLS-метка (метка многопротокольной коммутации по меткам, метка многопротокольной коммутации по меткам), ToS (тип услуги, тип услуги), метка IPv6-потока (метка потока по Интернет-протоколу версия 6, метка потока по Интернет-протоколу версия 6), GRE-ключ (ключ общей инкапсуляции маршрутов, ключ общей инкапсуляции маршрутов) и GTP TEID (идентификатор конечной точки туннеля по протоколу GPRS-туннелирования, идентификатор конечной точки туннеля по протоколу туннелирования общей службы пакетной радиопередачи), и используется для того, чтобы определять то, принадлежит или нет пакет потоку услуг, который должен обрабатываться в этот раз.
302: Входной сетевой элемент принимает пакет данных извне системы обработки пакетов.
Посредством этапа 302, входной сетевой элемент имеет только функцию приема и отправки пакета данных, и входной сетевой элемент и обрабатывающий сетевой элемент отдельно развертываются с точки зрения функции. Дополнительно, необязательно, запись входного потока дополнительно включает в себя индикатор входной контекстной обработки, причем индикатор входной контекстной обработки используется для того, чтобы указывать контекстную обработку, выполняемую для пакета данных; и этап 302 дополнительно включает в себя: выполнение, посредством входного сетевого элемента, контекстной обработки для пакета данных согласно индикатору входной контекстной обработки. В этом случае, входной сетевой элемент имеет характеристику выполнения контекстной обработки для пакета, т.е. в этом случае, входной сетевой элемент и обрабатывающий сетевой элемент развертываются вместе, и функции входного сетевого элемента включают в себя функцию обрабатывающего сетевого элемента.
303: Входной сетевой элемент присоединяет идентификатор потока инкапсуляции к пакету данных согласно индикатору входной инкапсуляции.
В настоящем изобретении, инкапсуляция, выполняемая согласно индикатору входной инкапсуляции, означает добавление информации, которая должна быть присоединена, например, идентификатора потока инкапсуляции, в пакет, причем идентификатор потока инкапсуляции используется для того, чтобы идентифицировать поток услуг, которому принадлежит пакет данных. Конкретный способ инкапсуляции может представлять собой способ инкапсуляции протокола, который использует GRE (общую инкапсуляцию маршрутов, общую инкапсуляцию маршрутов), GTP (протокол GPRS-туннелирования, протокол туннелирования общей службы пакетной радиопередачи), VLAN (виртуальную локальную вычислительную сеть, виртуальную локальную вычислительную сеть), MPLS (многопротокольную коммутацию по меткам, многопротокольную коммутацию по меткам) и т.п., либо может использоваться другой стандартный или самоопределяемый формат, что не ограничивается в настоящем изобретении.
304: Входной сетевой элемент отправляет пакет данных в обрабатывающий сетевой элемент согласно записи входного потока.
На этапе 304, поскольку индикатор обрабатывающего сетевого элемента используется для того, чтобы указывать обрабатывающий сетевой элемент, который обрабатывает пакет данных после входного сетевого элемента, этап 304 включает в себя: отправку, посредством входного сетевого элемента, пакета данных в обрабатывающий сетевой элемент согласно индикатору обрабатывающего сетевого элемента, причем индикатор обрабатывающего сетевого элемента может быть информацией перенаправления, такой как MAC-адрес, IP-адрес, доменное имя или самоопределяемый идентификатор обрабатывающего сетевого элемента.
305: Обрабатывающий сетевой элемент принимает пакет данных из входного сетевого элемента, получает идентификатор потока инкапсуляции из пакета данных, получает запись потока обработки согласно идентификатору потока инкапсуляции и выполняет контекстную обработку для пакета данных согласно записи потока обработки.
Запись потока обработки включает в себя идентификатор потока согласования и индикатор контекстной обработки, и идентификатор потока согласования согласуется с идентификатором потока инкапсуляции.
Необязательно, этап 305 дополнительно включает в себя: когда обработанный пакет данных не включает в себя идентификатор потока инкапсуляции, присоединение идентификатора потока к обработанному пакету данных, причем идентификатор потока представляет собой идентификатор потока инкапсуляции, либо когда запись потока обработки дополнительно включает в себя идентификатор нового потока инкапсуляции, идентификатор потока представляет собой идентификатор нового потока инкапсуляции.
Необязательно, запись потока обработки дополнительно включает в себя индикатор инкапсуляции обработки; индикатор инкапсуляции обработки используется для того, чтобы указывать присоединение идентификатора потока к обработанному пакету данных; и вышеприведенный процесс инкапсуляции обработанного пакета данных представляет собой: присоединение, посредством обрабатывающего сетевого элемента, идентификатора потока к обработанному пакету данных согласно индикатору инкапсуляции обработки.
306: Когда запись потока обработки не включает в себя индикатор повторно обрабатывающего сетевого элемента, обрабатывающий сетевой элемент отправляет обработанный пакет данных наружу; либо когда запись потока обработки дополнительно включает в себя индикатор повторно обрабатывающего сетевого элемента, обрабатывающий сетевой элемент отправляет обработанный пакет данных в следующий обрабатывающий сетевой элемент согласно индикатору повторно обрабатывающего сетевого элемента.
Индикатор повторно обрабатывающего сетевого элемента используется для того, чтобы указывать следующий обрабатывающий сетевой элемент, который обрабатывает пакет данных после обрабатывающего сетевого элемента.
В частности, поскольку этап 305 включает в себя процесс, в котором обрабатывающий сетевой элемент инкапсулирует обработанный пакет данных, на этапе 306, независимо от того, обрабатывающий сетевой элемент отправляет обработанный пакет данных за пределы системы обработки пакетов, или обрабатывающий сетевой элемент отправляет обработанный пакет данных в следующий обрабатывающий сетевой элемент согласно индикатору повторно обрабатывающего сетевого элемента, обработанный пакет данных включает в себя присоединенный идентификатор потока.
Согласно способу обработки пакетов, предоставленному в этом варианте осуществления настоящего изобретения, пакет перенаправляется в различные сетевые элементы для контекстной обработки, так что контекстная обработка может отдельно выполняться для пакета посредством использования распределенных устройств плоскости перенаправления, с тем чтобы улучшать балансировку нагрузки в ходе контекстной обработки сетевого пакета.
В частности, как показано на фиг. 5, вариант осуществления настоящего изобретения предоставляет способ обработки пакетов, который реализуется посредством использования вышеприведенной системы обработки пакетов и включает в себя следующие этапы:
401: Входной сетевой элемент локально конфигурирует запись входного потока или принимает запись входного потока, отправленную посредством управляющего сетевого элемента.
Управляющий сетевой элемент сконфигурирован с возможностью управлять перенаправлением или обработкой, выполняемой посредством входного сетевого элемента и обрабатывающего сетевого элемента для пакета данных. Запись входного потока включает в себя информацию описания потока и индикатор обрабатывающего сетевого элемента. Информация описания потока согласуется с пакетом данных. Индикатор обрабатывающего сетевого элемента используется для того, чтобы указывать обрабатывающий сетевой элемент, который обрабатывает пакет данных после входного сетевого элемента. Например, информация описания потока может включать в себя одно или комбинацию полей характеристик пакетов, такие как исходный адрес на уровне MAC (управления доступом к среде, управления доступом к среде), целевой MAC-адрес, исходный адрес IP (Интернет-протокола, Интернет-протокола), целевой IP-адрес, номер исходного порта, номер целевого порта, MPLS-метка (метка многопротокольной коммутации по меткам, метка многопротокольной коммутации по меткам), ToS (тип услуги, тип услуги), метка IPv6-потока (метка потока по Интернет-протоколу версия 6, метка потока по Интернет-протоколу версия 6), GRE-ключ (ключ общей инкапсуляции маршрутов, ключ общей инкапсуляции маршрутов) и GTP TEID (идентификатор конечной точки туннеля по протоколу GPRS-туннелирования, идентификатор конечной точки туннеля по протоколу туннелирования общей службы пакетной радиопередачи), и используется для того, чтобы определять то, принадлежит или нет пакет потоку услуг, который должен обрабатываться в этот раз. Индикатор обрабатывающего сетевого элемента включает в себя список индикаторов контекстной обработки, причем список индикаторов контекстной обработки включает в себя индикатор контекстной обработки.
402: Входной сетевой элемент принимает пакет данных.
Посредством этапа 402, входной сетевой элемент имеет только функцию приема и отправки пакета данных, и входной сетевой элемент и обрабатывающий сетевой элемент отдельно развертываются с точки зрения функции. Дополнительно, необязательно, запись входного потока дополнительно включает в себя индикатор входной контекстной обработки, причем индикатор входной контекстной обработки используется для того, чтобы указывать контекстную обработку, выполняемую для пакета данных; и этап 402 дополнительно включает в себя: выполнение, посредством входного сетевого элемента, контекстной обработки для пакета данных согласно индикатору входной контекстной обработки. В этом случае, входной сетевой элемент имеет характеристику выполнения контекстной обработки для пакета, т.е. в этом случае, входной сетевой элемент и обрабатывающий сетевой элемент развертываются вместе, и функции входного сетевого элемента включают в себя функцию обрабатывающего сетевого элемента.
403: Входной сетевой элемент присоединяет список индикаторов контекстной обработки к пакету данных, определяет то, что следующая контекстная обработка, которая должна выполняться для пакета данных, представляет собой контекстную обработку, указываемую посредством индикатора контекстной обработки, и отправляет пакет данных в обрабатывающий сетевой элемент согласно соответствию между индикатором контекстной обработки и обрабатывающим сетевым элементом.
Необязательно, список индикаторов контекстной обработки дополнительно включает в себя адресную информацию обрабатывающего сетевого элемента, причем индикатор контекстной обработки соответствует адресной информации обрабатывающего сетевого элемента.
На этапе 403, отправка пакета данных в обрабатывающий сетевой элемент согласно соответствию между индикатором контекстной обработки и обрабатывающим сетевым элементом представляет собой: отправку, посредством входного сетевого элемента, пакета данных в обрабатывающий сетевой элемент согласно адресной информации, которая соответствует индикатору контекстной обработки, обрабатывающего сетевого элемента.
404: Обрабатывающий сетевой элемент принимает пакет данных из входного сетевого элемента, получает список индикаторов контекстной обработки из пакета данных и выполняет контекстную обработку для пакета данных согласно индикатору контекстной обработки.
405: Когда список индикаторов контекстной обработки не включает в себя индикатор другой контекстной обработки, обрабатывающий сетевой элемент отправляет обработанный пакет данных наружу.
406: Когда список индикаторов контекстной обработки дополнительно включает в себя индикатор другой контекстной обработки, обрабатывающий сетевой элемент определяет то, что следующая контекстная обработка, которая должна выполняться для пакета данных, представляет собой контекстную обработку, указываемую посредством индикатора другой контекстной обработки, и после того, как обрабатывающий сетевой элемент выполняет контекстную обработку для пакета данных, отправляет обработанный пакет данных в другой обрабатывающий сетевой элемент согласно соответствию между индикатором другой контекстной обработки и другим обрабатывающим сетевым элементом.
Индикатор другой контекстной обработки используется для того, чтобы указывать контекстную обработку, выполняемую для пакета данных.
Необязательно, список индикаторов контекстной обработки дополнительно включает в себя адресную информацию другого обрабатывающего сетевого элемента, причем индикатор другой контекстной обработки соответствует адресной информации другого обрабатывающего сетевого элемента.
На этапе 406, отправка обработанного пакета данных в другой обрабатывающий сетевой элемент согласно соответствию между индикатором другой контекстной обработки и другим обрабатывающим сетевым элементом представляет собой: отправку, посредством обрабатывающего сетевого элемента, обработанного пакета данных в другой обрабатывающий сетевой элемент согласно адресной информации, которая соответствует индикатору другой контекстной обработки, другого обрабатывающего сетевого элемента.
Согласно способу обработки пакетов, предоставленному в этом варианте осуществления настоящего изобретения, пакет перенаправляется в различные сетевые элементы для контекстной обработки, так что контекстная обработка может отдельно выполняться для пакета посредством использования распределенных устройств плоскости перенаправления, с тем чтобы улучшать балансировку нагрузки в ходе контекстной обработки сетевого пакета.
В частности, используется пример, в котором отдельно развертываются входной сетевой элемент и обрабатывающий сетевой элемент (т.е. входной сетевой элемент не имеет характеристику выполнения контекстной обработки для пакета). Как показано на фиг. 6, используется пример, в котором пакет проходит и обрабатывается посредством входного сетевого элемента и трех обрабатывающих сетевых элементов, причем входной сетевой элемент завершает согласование потоков, и три обрабатывающих сетевых элемента, соответственно, выполняют функцию брандмауэра для защиты от вирусов, функцию синтаксического анализа на основе DPI (глубокого анализа пакетов, глубокого анализа пакетов) и функцию управления QoS (качеством обслуживания, качеством обслуживания) для пакета, что включает в себя следующие этапы:
501: Управляющий сетевой элемент доставляет запись входного потока во входной сетевой элемент плоскости перенаправления посредством использования сообщения установки записи потока. Запись входного потока включает в себя информацию описания потока, идентификатор потока инкапсуляции (FID1) и индикатор обрабатывающего сетевого элемента. Информация FWD info1 перенаправления используется в качестве примера индикатора обрабатывающего сетевого элемента. В этом варианте осуществления, правило согласования потоков (правило согласования потоков) используется в качестве примера информации описания потока для описания. На этапе 501, используется пример, в котором управляющий сетевой элемент отправляет запись входного потока; безусловно, запись входного потока также может локально конфигурироваться.
Правило согласования потоков может представлять собой одно или комбинацию полей характеристик пакетов, такие как исходный MAC-адрес, целевой MAC-адрес, исходный IP-адрес, целевой IP-адрес, номер исходного порта, номер целевого порта, MPLS-метка, ToS, метка IPv6-потока, GRE-ключ и GTP TEID, и используется для того, чтобы определять то, принадлежат или нет пакеты идентичному потоку услуг, который должен обрабатываться в этот раз. Информация перенаправления включает в себя информацию, используемую для того, чтобы определять обрабатывающий сетевой элемент, в который должен перенаправляться пакет, такую как MAC-адрес, IP-адрес, доменное имя или самоопределяемый идентификатор обрабатывающего сетевого элемента.
Следующая запись входного потока используется в качестве примера:
<Flow entry>:={flow match rule, FID1, Fwd info1(IP=ip1)}.
502: Управляющий сетевой элемент доставляет одну или более записей потоков обработки в один или более обрабатывающих сетевых элементов плоскости перенаправления посредством использования одного или более сообщений установки записей потоков обработки. На этапе 502, используется пример, в котором управляющий сетевой элемент отправляет записи потоков обработки; безусловно, записи потоков обработки также могут локально конфигурироваться.
Записи потоков обработки включают в себя идентификатор потока согласования и индикатор контекстной обработки. Когда обрабатывающий сетевой элемент должен перенаправлять пакет данных в другой обрабатывающий сетевой элемент для контекстной обработки, запись потока обработки дополнительно включает в себя идентификатор потока инкапсуляции и информацию перенаправления, причем информация перенаправления в данном документе представляет собой индикатор повторно обрабатывающего сетевого элемента.
Например:
- запись потока обработки, отправленная в обрабатывающий сетевой элемент 1, следующая:
<Flow entry>:={FID1, [CID 1], FID2, Fwd info2(IP=ip2)};
- запись потока обработки, отправленная в обрабатывающий сетевой элемент 2, следующая:
<Flow entry>:={FID2, [CID 3], FID3, Fwd info3(IP=ip3)}; и
- запись потока обработки, отправленная в обрабатывающий сетевой элемент 3, следующая:
<Flow entry>:={FID3, [CID 1, CID 4]}.
503: После того, как пакет данных поступает во входной сетевой элемент, входной сетевой элемент согласуется пакет данных с правилами согласования потоков записей входных потоков. Согласно записи входного потока, которая согласует пакет данных, входной сетевой элемент присоединяет соответствующий идентификатор потока инкапсуляции к пакету данных. Присоединение может реализовываться различными способами, например, соответствующие инкапсуляции протокола выполняются для пакета посредством использования идентификатора потока в качестве MPLS-метки, GRE-ключа, GTP TEID и т.п., что не ограничивается в настоящем изобретении. В этом варианте осуществления, MPLS-метка используется в качестве примера, и входной сетевой элемент выполняет инкапсуляцию MPLS для пакета данных, чтобы добавлять заголовок MPLS-пакета, в котором метка представляет собой FID1. Входной сетевой элемент отправляет, согласно информации перенаправления, инкапсулированный пакет в обрабатывающий сетевой элемент 1, IP-адрес которого составляет ip1 для контекстной обработки.
Запись входного потока дополнительно может включать в себя индикатор инкапсуляции, и на этапе 503, входной сетевой элемент присоединяет идентификатор потока инкапсуляции к пакету данных согласно индикатору входной инкапсуляции.
504: Обрабатывающий сетевой элемент 1 выполняет поиск, согласно идентификатору потока инкапсуляции (т.е. MPLS-метке в этом варианте осуществления) пакета данных, записи потока обработки, которая включает в себя идентичный идентификатор потока согласования, и выполняет, согласно контенту записи потока обработки, локальную контекстную обработку, соответствующую CID1, для пакета данных, для которого выполнена MPLS-декапсуляция. Например, индикатор контекстной обработки, соответствующий CID1, выполняет фильтрацию программ типа "троянский конь" и вирусов, и, следовательно, обрабатывающий сетевой элемент 1 выполняет функцию обнаружения и фильтрации программ типа "троянский конь" и вирусов для пакета. После выполнения контекстной обработки, соответствующей локальному индикатору контекстной обработки, обрабатывающий сетевой элемент выполняет инкапсуляцию MPLS для пакета посредством использования FID2 в качестве MPLS-метки и отправляет, согласно информации перенаправления, инкапсулированный пакет в обрабатывающий сетевой элемент 2, IP-адрес которого составляет ip2 для контекстной обработки. Безусловно, индикатор контекстной обработки также может включать в себя несколько типов контекстной обработки.
505: Обрабатывающий сетевой элемент 2 выполняет поиск, согласно идентификатору потока инкапсуляции пакета данных, записи потока обработки, соответствующей FID2, и выполняет, согласно контенту записи потока обработки, локальную контекстную обработку, соответствующую CID3, для пакета. Например, индикатор контекстной обработки, соответствующий CID3, представляет собой глубокий синтаксический P2P-анализ пакетов, и, следовательно, обрабатывающий сетевой элемент 2 выполняет идентификацию P2P-услуг для пакета и необязательно присоединяет результат идентификации P2P-услуг в форме метаданных к пакету. Обрабатывающий сетевой элемент 2 отправляет, согласно информации перенаправления, пакет в обрабатывающий сетевой элемент 3, IP-адрес которого составляет ip3 для следующей контекстной обработки.
506: Обрабатывающий сетевой элемент 3 выполняет поиск, согласно идентификатору потока инкапсуляции пакета данных, записи потока обработки, соответствующей FID3, и выполняет, согласно записи потока обработки, соответствующей FID3, локальную контекстную обработку, соответствующую CID1, и локальную контекстную обработку, соответствующую CID4, для пакета, для которого выполнена MPLS-декапсуляция, например, CID1 соответствует управлению максимальной полосой пропускания в 2 Мбит/с, и CID4 соответствуют перенаправлению с наивысшим приоритетом. После выполнения вышеприведенного QoS-управления, поскольку запись потока обработки не переносит информацию перенаправления и идентификатор потока инкапсуляции, обрабатывающий сетевой элемент 3 непосредственно перенаправляет обработанный пакет во внешнюю сеть согласно нормальному правилу уровня 2 или уровня 3.
Следует отметить, что на фиг. 6, после того, как контекстная обработка выполняется для пакета данных посредством различных обрабатывающих сетевых элементов, конкретный контент пакета данных может изменяться. В этом варианте осуществления или в другом варианте осуществления, отсутствует взаимосвязь на основе прямого ассоциирования между обрабатывающими сетевыми элементами, и управляющий сетевой элемент осуществляет управление посредством использования информации перенаправления, так что идентичный обрабатывающий сетевой элемент может появляться многократно в процессе обработки и может реализовывать различные процедуры контекстной обработки для различных пакетов каждый раз, что не ограничивается в настоящем изобретении.
Посредством вышеприведенного входного сетевого элемента и процессов контекстной обработки нескольких обрабатывающих сетевых элементов, сетевые элементы плоскости перенаправления совместно завершают различные типы обработки, указанные посредством управляющего сетевого элемента, для потока услуг. Через введение идентификатора потока, входной сетевой элемент должен выполнять согласование пакетов для пакета только один раз, и следующие обрабатывающие сетевые элементы могут получать информацию относительно потока, которому принадлежит пакет, и метаданные, так что распределенные обрабатывающие сетевые элементы могут совместно использовать и обрабатывать конкретную информацию.
Необязательно, используется пример, в котором входной сетевой элемент имеет функцию контекстной обработки (т.е. входной сетевой элемент и обрабатывающий сетевой элемент развертываются вместе). Как показано на фиг. 7, используется пример, в котором пакет проходит через входной сетевой элемент и два обрабатывающих сетевых элемента, причем входной сетевой элемент завершает согласование потоков и управление записями, и два обрабатывающих сетевых элемента, соответственно, выполняют функцию QoS-управления и функцию оплаты для пакета, что включает в себя следующие этапы:
601: Управляющий сетевой элемент доставляет запись входного потока во входной сетевой элемент плоскости перенаправления посредством использования сообщения установки записи входного потока. На этапе 601, используется пример, в котором управляющий сетевой элемент отправляет запись входного потока; безусловно, запись входного потока также может локально конфигурироваться.
Запись входного потока включает в себя информацию описания потока, индикатор входной контекстной обработки, идентификатор потока инкапсуляции (FID1) и индикатор обрабатывающего сетевого элемента. Информация FWD info1 перенаправления используется в качестве примера индикатора обрабатывающего сетевого элемента. В этом варианте осуществления, правило согласования потоков (правило согласования потоков) используется в качестве примера информации описания потока для описания. На этапе 601, используется пример, в котором управляющий сетевой элемент отправляет запись входного потока; безусловно, запись входного потока также может локально конфигурироваться. Индикатор входной контекстной обработки может представлять собой список локальной контекстной обработки (локальный CID-список 1) входного сетевого элемента, причем список включает в себя несколько типов контекстной обработки.
Как описано в предыдущем варианте осуществления, правило согласования потоков может представлять собой комбинацию полей характеристик пакетов (к примеру, IP-пятерки или GTP TEID) и используется для того, чтобы определять то, принадлежит или нет пакет потоку услуг. Информация перенаправления включает в себя информацию, используемую для того, чтобы определять следующий сетевой элемент, такую как MAC-адрес, IP-адрес, доменное имя или самоопределяемый идентификатор сетевого элемента. В этом варианте осуществления, следующая запись входного потока используется в качестве примера:
<Flow entry>:={flow match rule, [CID 2], FID1, Fwd info1(ID=id1)}.
602: Управляющий сетевой элемент доставляет, посредством использования сообщений установки записей потоков обработки, записи потоков обработки в два обрабатывающих сетевых элемента плоскости перенаправления, сконфигурированные с возможностью обрабатывать поток услуг. На этапе 602, используется пример, в котором управляющий сетевой элемент отправляет записи потоков обработки; безусловно, записи потоков обработки также могут локально конфигурироваться.
Записи потоков обработки включают в себя идентификатор потока согласования и индикатор контекстной обработки. Когда обрабатывающий сетевой элемент должен перенаправлять пакет данных в другой обрабатывающий сетевой элемент для контекстной обработки, запись потока обработки дополнительно включает в себя идентификатор потока инкапсуляции и информацию перенаправления, причем информация перенаправления в данном документе представляет собой индикатор повторно обрабатывающего сетевого элемента. Например:
- запись потока обработки, отправленная в обрабатывающий сетевой элемент 1, следующая:
<Flow entry>:={FID1, [CID 1, CID 4], FID2, Fwd info2(ID=id2)}; и
- запись потока обработки, отправленная в обрабатывающий сетевой элемент 2, следующая:
<Flow entry>:={FID2, [CID 2, CID 3], NO_FID}, где:
NO_FID используется в качестве индикатора инкапсуляции обработки, используемого для того, чтобы указывать обрабатывающему сетевому элементу 2 то, что нет необходимости продолжать выполнять инкапсуляцию идентификаторов потоков для пакета данных. В этом варианте осуществления или в другом варианте осуществления, индикатор инкапсуляции обработки также может быть представлен посредством использования конкретного FID-значения либо способом не переноса поля FID, либо другими способами, что не ограничивается в настоящем изобретении.
603: После того, как пакет данных поступает во входной сетевой элемент, входной сетевой элемент выполняет согласование записей потоков. Поскольку в этом варианте осуществления, входной сетевой элемент и обрабатывающий сетевой элемент развертываются вместе, запись входного потока дополнительно включает в себя список локальной контекстной обработки, и входной сетевой элемент должен выполнять, согласно записи входного потока, согласованной с пакетом данных, контекстную обработку, соответствующую локальному списку контекстов в записи потока. Например, контекстная обработка, соответствующая CID2 входного сетевого элемента, выполняет управление пользовательскими IP-записями для пакета данных, и, следовательно, входной сетевой элемент определяет, согласно исходным и целевым IP-адресам пакета данных, то, следует или нет разрешать прохождение пакета. Для пакета данных, для которого выполнена контекстная обработка, входной сетевой элемент присоединяет соответствующий идентификатор потока инкапсуляции к пакету данных. В этом варианте осуществления, инкапсуляция GTP-протокола используется в качестве примера, и входной сетевой элемент выполняет GTP-инкапсуляцию для пакета данных, чтобы добавлять заголовок GTP-U-пакета, в котором TEID (идентификатор конечной точки туннеля, идентификатор конечной точки туннеля) представляет собой FID1. Входной сетевой элемент отправляет, согласно информации перенаправления, инкапсулированный пакет данных в обрабатывающий сетевой элемент 1, идентификатор сетевого элемента которого составляет id1 для контекстной обработки. Входной сетевой элемент необязательно может получать таким способом, как локальная конфигурация или DNS (система доменных имен, система доменных имен), адрес сетевого элемента, соответствующий идентификатору сетевого элемента.
604: Обрабатывающий сетевой элемент 1 выполняет поиск, согласно идентификатору потока инкапсуляции пакета данных, записи потока обработки, соответствующей FID1, и выполняет, согласно записи потока обработки, соответствующей FID1, локальную контекстную обработку, соответствующую CID1, и локальную контекстную обработку, соответствующую CID4, для пакета данных, для которого выполнена GTP-декапсуляция, например, CID1 соответствует управлению максимальной полосой пропускания в 2 Мбит/с, и CID4 соответствуют перенаправлению с наивысшим приоритетом. После выполнения вышеприведенного QoS-управления, обрабатывающий сетевой элемент 1 выполняет GTP-инкапсуляцию для пользователя, чтобы присоединять заголовок GTP-U-пакета, в котором TEID представляет собой FID2. Обрабатывающий сетевой элемент 1 отправляет, согласно информации перенаправления, инкапсулированный пакет данных в обрабатывающий сетевой элемент 2, идентификатор сетевого элемента которого составляет id2 для контекстной обработки.
605: Обрабатывающий сетевой элемент 2 выполняет поиск, согласно идентификатору потока инкапсуляции пакета данных, записи потока обработки, соответствующей FID2, и выполняет, согласно записи потока обработки, соответствующей FID2, локальную контекстную обработку, соответствующую CID2, и локальную контекстную обработку, соответствующую CID3, для пакета данных, для которого выполнена GTP-декапсуляция, например, CID2 соответствует онлайновой оплате, и CID4 соответствует оффлайновому формированию счетов. После выполнения вышеприведенных двух типов контекстной обработки для оплаты, поскольку индикатор инкапсуляции обработки в записи потока является NO_FID, обрабатывающий сетевой элемент 2 непосредственно перенаправляет обработанный пакет во внешнюю сеть, и в этом случае, запись потока обработки не включает в себя индикатор повторно обрабатывающего сетевого элемента.
Необязательно, вариант осуществления настоящего изобретения дополнительно предоставляет способ реализации с использованием протокола OpenFlow (сокращенно, OpenFlow). OpenFlow-протокол расширяется, так что управляющий сетевой элемент реализует обработку записей входных потоков и записей потоков обработки для модулей перенаправления. В этом случае, согласно OpenFlow-протоколу, управляющий сетевой элемент в предыдущем варианте осуществления заменен управляющим сетевым OF-элементом, и модули OF-перенаправления реализуют функции вышеприведенного входного сетевого элемента и обрабатывающего сетевого элемента. Как показано на фиг. 8, конкретная процедура следующая:
701: Управляющий сетевой OF-элемент доставляет запись входного потока в модуль 1 OF-перенаправления посредством использования сообщения Flow_mod. Идентично записи входного потока, сообщение Flow_mod, доставляемое в модуль 1 OF-перенаправления, также включает в себя информацию описания потока, идентификатор потока инкапсуляции (FID1) и индикатор обрабатывающего сетевого элемента. Информация FWD info1 перенаправления используется в качестве примера индикатора обрабатывающего сетевого элемента. В этом варианте осуществления, правило согласования потоков (правило согласования потоков) используется в качестве примера информации описания потока для описания. Что касается предыдущего варианта осуществления, в этом варианте осуществления, поскольку модуль перенаправления используется для того, чтобы реализовывать функцию обрабатывающего сетевого элемента или входного сетевого элемента, индикатор соответствующего обрабатывающего сетевого элемента в этом варианте осуществления используется для того, чтобы указывать модуль OF-перенаправления, который обрабатывает пакет данных после модуля 1 OF-перенаправления. На этапе 701, используется пример, в котором управляющий сетевой OF-элемент отправляет запись входного потока; безусловно, запись входного потока также может локально конфигурироваться.
Как описано в предыдущем варианте осуществления, правило согласования потоков может представлять собой комбинацию полей характеристик пакетов (к примеру, IP-пятерки или GTP TEID) и используется для того, чтобы определять то, принадлежит или нет пакет потоку услуг. Идентификатор потока инкапсуляции (FID1) предоставляется в качестве параметра операции Push_Tag, и информация перенаправления предоставляется в качестве параметра операции Output. В этом варианте осуществления, следующая запись потока используется в качестве примера:
<Flow_mod>:={ofp_match(n-Tuple),ofp_instructions[push_tag(FID1), Output(2)]}.
702: Управляющий сетевой OF-элемент доставляет, посредством использования сообщений Flow_mod, записи потоков обработки в два модуля OF-перенаправления, сконфигурированные с возможностью обрабатывать поток услуг. На этапе 702, используется пример, в котором управляющий сетевой OF-элемент отправляет записи потоков обработки; безусловно, записи потоков обработки также могут локально конфигурироваться.
Идентично записи потока обработки, сообщение Flow_mod, доставляемое в другой модуль OF-перенаправления, отличный от модуля 1 OF-перенаправления, также включает в себя идентификатор потока согласования и индикатор контекстной обработки. Когда другой модуль OF-перенаправления должен перенаправлять пакет данных в еще один другой модуль OF-перенаправления для контекстной обработки, сообщение Flow_mod дополнительно включает в себя идентификатор потока инкапсуляции и информацию перенаправления, причем информация перенаправления в данном документе представляет собой индикатор повторно обрабатывающего сетевого элемента.
Например:
- запись потока, отправленная в модуль 2 OF-перенаправления, следующая:
<Flow_mod>:={ofp_match(FID1), and
ofp_instructions[Context[CID1], Output(1)]}; и
- запись потока, отправленная в модуль 3 OF-перенаправления, следующая:
<Flow_mod>:={ofp_ match(FID1), and
ofp_instructions[Context[CID1,CID2],Pop_Tag(), Output(2)]}, где:
Контекст указывает выполнение операции соответствующей контекстной обработки.
Push_Tag/Pop_Tag, соответственно, указывают выполнение инкапсуляции и декапсуляции для пакета. В этом варианте осуществления, MPLS-метка используется в качестве примера, т.е. операция Push_Tag является инкапсулированием FID в качестве MPLS-метки в пакет, и операция Pop_Tag является удалением MPLS-метки из пакета. Аналогично, FID-инкапсуляция также может выполняться в форме GRE, GTP или другого протокола, что не ограничивается в настоящем изобретении.
Операция Output представляет собой отправку пакета через соответствующий порт. В этом варианте осуществления или в другом варианте осуществления, индикатор инкапсуляции также может быть представлен посредством использования конкретного FID-значения или способом не переноса поля FID, или другими способами, что не ограничивается в настоящем изобретении.
703: После того, как пакет данных поступает в модуль 1 OF-перенаправления, модуль 1 OF-перенаправления выполняет согласование записей потоков и добавляет соответствующий идентификатор потока инкапсуляции в пакет данных посредством выполнения операции Push_Tag(FID1). В этом варианте осуществления, инкапсуляция MPLS-протокола используется в качестве примера, и модуль 1 OF-перенаправления добавляет MPLS-заголовок, в котором MPLS-метка представляет собой FID1, в пакет и отправляет, согласно информации перенаправления (параметру операции Output), пакет данных в модуль 2 OF-перенаправления через порт 2 для контекстной обработки.
704: Модуль 2 OF-перенаправления выполняет согласование записей потоков согласно полю MPLS в пакете данных и выполняет локальную контекстную обработку, соответствующую CID1 для пакета данных, согласно записи потока обработки, соответствующей FID1, например, CID1 соответствует контекстной операции повторной сборки IPv4-пакетов. Модуль 2 OF-перенаправления отправляет пакет данных, для которого выполнена повторная сборка IPv4-пакетов, в модуль 3 OF-перенаправления через порт 1 модуля 2 OF-перенаправления для контекстной обработки.
705: Модуль 3 OF-перенаправления выполняет согласование таблиц потоков для пакета данных согласно в MPLS-метке в пакете данных и выполняет локальную контекстную обработку, соответствующую CID1, и локальную контекстную обработку, соответствующую CID2, для пакета данных согласно записи потока обработки, соответствующей FID1, например, CID1 соответствует контекстной операции ограничения максимальной полосы пропускания (2 Мбит/с), и CID2 соответствует контекстной операции оффлайновой оплаты. После выполнения вышеприведенной операции ограничения максимальной полосы пропускания и операции оффлайновой оплаты, модуль 3 OF-перенаправления удаляет FID-информацию (т.е. MPLS-метку в этом варианте осуществления), включенную в пакет данных согласно операции Pop_Tag, и перенаправляет пакет данных во внешнюю сеть через порт 2 модуля 3 OF-перенаправления согласно операции Output.
В этом варианте осуществления, посредством доставки различных правил потоков, модуль 1 OF-перенаправления также может выполнять часть контекстной обработки до перенаправления пакета в другой обрабатывающий сетевой элемент, например, на этапе 701, следующее правило потока доставляется:
<Flow_mod>:={ofp_match(n-Tuple),ofp_instructions[Context(CID1),push_tag(FID1), Output(2)]};
- в этом случае, после выполнения контекстной обработки, соответствующей CID1, модуль 1 OF-перенаправления выполняет инкапсуляцию идентификаторов потоков и перенаправление для обработанного пакета.
Необязательно используется пример, в котором отдельно развертываются входной сетевой элемент и обрабатывающий сетевой элемент. Как показано на фиг. 9, используется пример, в котором пакет проходит через входной сетевой элемент и два обрабатывающих сетевых элемента, причем входной сетевой элемент завершает согласование потоков, и два обрабатывающих сетевых элемента, соответственно, выполняют функцию управления QoS/оплатой и функцию GTP-инкапсуляции/декапсуляции для пакета. Каждый сетевой элемент определяет следующий обрабатывающий сетевой элемент согласно адресной информации, которая имеет обрабатывающий сетевой элемент, и которая переносится в списке контекстов, что включает в себя следующие этапы:
801: Управляющий сетевой элемент доставляет запись входного потока во входной сетевой элемент плоскости перенаправления посредством использования сообщения установки записи входного потока.
На этапе 801, используется пример, в котором управляющий сетевой элемент отправляет запись входного потока; безусловно, запись входного потока также может локально конфигурироваться. Запись входного потока включает в себя информацию описания потока и индикатор обрабатывающего сетевого элемента. Индикатор обрабатывающего сетевого элемента включает в себя список индикаторов контекстной обработки (CID-список), и список индикаторов контекстной обработки включает в себя индикатор контекстной обработки и адресную информацию обрабатывающего сетевого элемента.
Правило согласования потоков (правило согласования потоков) используется в качестве примера информации описания потока и используется для того, чтобы определять то, принадлежит или нет пакет потоку услуг. Обратитесь к описаниям вышеприведенных вариантов осуществления, и подробности повторно не описываются в данном документе. Список индикаторов контекстной обработки (CID-список) включает в себя все индикаторы контекстной обработки всех типов контекстной обработки, которая должна выполняться посредством плоскости перенаправления для пакета и адресной информации (такой как IP-адрес, идентификатор или доменное имя) обрабатывающего сетевого элемента, соответствующего каждому индикатору контекстной обработки. Следующая запись потока используется в качестве примера:
<Flow entry>:={flow match rule,
[NID1,CID1],[NID2, (CID3, CID4)],[NID3, CID5]}.
В этом варианте осуществления, следующая конкретная контекстная обработка используется в качестве примера: CID1 соответствует GTP-декапсуляции, CID3 соответствует управлению полосой пропускания в 2 Мбит/с, CID4 соответствует оффлайновой оплате, и CID5 соответствует GTP-инкапсуляции (src_ip=ip1, dst_ip=ip2, TEID=0×0004).
В этом варианте осуществления, каждый сетевой элемент плоскости перенаправления определяет следующий сетевой элемент согласно NID в списке индикаторов контекстной обработки (CID-списке). В этом варианте осуществления, IP-адрес используется в качестве NID или другого типа идентификатора, к примеру, может использоваться доменное имя или самоопределяемый идентификатор, что не ограничивается в настоящем изобретении.
802: После того, как пакет данных поступает во входной сетевой элемент, входной сетевой элемент выполняет согласование записей потоков. Входной сетевой элемент добавляет соответствующий список индикаторов контекстной обработки в записи потока, согласованной с пакетом данных, в пакет и отправляет, согласно последовательности в списке перенаправляющих сетевых элементов, пакет в обрабатывающий сетевой элемент, соответствующий NID1. Конкретный формат инкапсуляции пакетов может представлять собой форму самоопределяемого информационного элемента, что не ограничивается в настоящем изобретении. Возможный формат пакетов следующий:
<interim_packet>:={[NID1,CID1],[NID2,(CID3,CID4)],[NID3, CID5], [user packet]}.
803: Обрабатывающий сетевой элемент 1 выполняет индикатор контекстной обработки, который может обрабатываться посредством обрабатывающего сетевого элемента 1 для пакета согласно вышеприведенному списку индикаторов контекстной обработки в пакете данных и согласно последовательности в списке до тех пор, пока контекстная обработка, соответствующая индикатору следующей контекстной обработки в списке индикаторов контекстной обработки, не будет принадлежать обработке, выполняемой посредством обрабатывающего сетевого элемента 1.
В этом варианте осуществления, обрабатывающий сетевой элемент 1 выполняет операцию GTP-декапсуляции для пакета согласно индикатору контекстной обработки, соответствующему CID1. Поскольку контекстная обработка, соответствующая индикатору CID3 следующей контекстной обработки в списке, не принадлежит входному сетевому элементу, входной сетевой элемент отправляет список оставшихся индикаторов контекстной обработки и пакет данных, для которого выполнена обработка декапсуляции, в обрабатывающий сетевой элемент, соответствующий идентификатору NID2 обрабатывающего сетевого элемента, соответствующему следующей контекстной обработке. Возможный формат пакетов следующий:
<interim_packet>:={[NID2, (CID3, CID4)],[NID3, CID5], [user packet]}.
804: Обрабатывающий сетевой элемент 2 последовательно выполняет различные типы контекстной обработки для пакета согласно списку контекстной обработки, переносимому в пакете данных, до тех пор, пока контекст, соответствующий индикатору следующей контекстной обработки в списке, не будет принадлежать обрабатывающему сетевому элементу 2.
В этом варианте осуществления, обрабатывающий сетевой элемент 2 осуществляет управление максимальной полосой пропускания в 2 Мбит/с для пакета согласно контекстной обработке, соответствующей CID3, и выполняет, согласно контекстной обработке, соответствующей CID4, оффлайновую оплату для пакета данных, управляемого посредством полосы пропускания. Поскольку контекстная обработка, соответствующая индикатору CID5 следующей контекстной обработки в списке индикаторов контекстной обработки, не принадлежит обрабатывающему сетевому элементу 2, обрабатывающий сетевой элемент 2 отправляет список оставшихся индикаторов контекстной обработки и пакет данных, для которого выполнена оффлайновая оплата, в обрабатывающий сетевой элемент, соответствующий идентификатору NID1 обрабатывающего сетевого элемента, соответствующему следующей контекстной обработке. Конкретный формат инкапсуляции пакетов может представлять собой форму самоопределяемого информационного элемента, что не ограничивается в настоящем изобретении. Возможный формат пакетов следующий:
<interim_packet>:={[NID1,CID5], [user packet]}.
805: Обрабатывающий сетевой элемент 1 выполняет контекстную обработку GTP-инкапсуляции, соответствующую CID5, для пользовательского пакета из пакета данных согласно списку индикаторов контекстной обработки, переносимому в вышеприведенном сообщении, т.е. инкапсулирует заголовок GTP-U-пакета, указываемый в индикаторе контекстной обработки, в пакет. После выполнения вышеприведенной контекстной обработки инкапсуляции, поскольку все типы контекстной обработки в списке индикаторов контекстной обработки завершаются, обрабатывающий сетевой элемент 2 непосредственно перенаправляет обработанный пакет во внешнюю сеть.
Посредством вышеприведенного входного сетевого элемента и обработки посредством нескольких обрабатывающих сетевых элементов, завершается последовательность контекстной обработки, которая указывается посредством управляющего сетевого элемента, пакета, и пакет в конечном счете отправляется во внешнюю сеть.
Следует отметить, что на фиг. 9, пользовательский пакет единообразно используется для того, чтобы означать пакет, который должен быть обработан, CID-список используется для того, чтобы представлять индикатор контекстной обработки, и NE-список используется для того, чтобы представлять список обрабатывающих сетевых элементов. Тем не менее, после того, как контекстная обработка выполняется посредством различных обрабатывающих сетевых элементов, как описано на этапах, конкретный контент пользовательского пакета, CID-списка и NE-списка может изменяться.
Необязательно, используется пример, в котором входной сетевой элемент имеет функцию контекстной обработки (т.е. входной сетевой элемент и обрабатывающий сетевой элемент развертываются вместе). Как показано на фиг. 10, используется пример, в котором пакет проходит через входной сетевой элемент и два обрабатывающих сетевых элемента, причем входной сетевой элемент завершает согласование потоков и GTP-декапсуляцию, и два обрабатывающих сетевых элемента, соответственно, выполняют функцию управления QoS/оплатой и функцию GTP-инкапсуляции для пакета. Каждый сетевой элемент определяет следующий обрабатывающий сетевой элемент согласно CID-списку, что включает в себя следующие этапы:
901: Управляющий сетевой элемент доставляет запись входного потока во входной сетевой элемент плоскости перенаправления посредством использования сообщения установки записи входного потока.
На этапе 801, используется пример, в котором управляющий сетевой элемент отправляет запись входного потока; безусловно, запись входного потока также может локально конфигурироваться. Запись входного потока включает в себя информацию описания потока и индикатор обрабатывающего сетевого элемента. Индикатор обрабатывающего сетевого элемента включает в себя список индикаторов контекстной обработки (CID-список), и список индикаторов контекстной обработки включает в себя индикатор контекстной обработки и адресную информацию обрабатывающего сетевого элемента.
Правило согласования потоков (правило согласования потоков) используется в качестве примера информации описания потока. Обратитесь к описаниям вышеприведенных вариантов осуществления, и подробности повторно не описываются в данном документе. Следующая запись потока используется в качестве примера:
<Flow entry>:={flow match rule, [CID1, CID3, CID4, CID5]}.
В этом варианте осуществления, следующая конкретная контекстная обработка используется в качестве примера: CID1 соответствует GTP-декапсуляции, CID3 соответствует управлению полосой пропускания в 2 Мбит/с, CID4 соответствует оффлайновой оплате, и CID5 соответствует GTP-инкапсуляции (src_ip=ip1, dst_ip=ip2, TEID=0×0002).
В этом варианте осуществления, каждый сетевой элемент плоскости перенаправления определяет следующий сетевой элемент согласно CID, и, следовательно, CID является адресной информацией обрабатывающего сетевого элемента. Несколько возможных способов реализации включают в себя: часть поля CID является информацией идентификатора (такой как IP-адрес, доменное имя или идентификатор имени) обрабатывающего сетевого элемента; или каждый перенаправляющий сетевой элемент может преобразовывать CID в соответствующую информацию идентификатора сетевого элемента согласно локально сконфигурированной информации или правилу вычисления; или каждый перенаправляющий сетевой элемент перенаправляет пакет данных в соответствующий обрабатывающий сетевой элемент посредством использования ретрансляционного сетевого элемента, который может преобразовывать CID в идентификатор сетевого элемента, либо другие способы, что не ограничивается в настоящем изобретении.
902: После того, как пакет данных поступает во входной сетевой элемент, входной сетевой элемент выполняет согласование записей потоков. В этом варианте осуществления, входной сетевой элемент и обрабатывающий сетевой элемент развертываются вместе. Следовательно, запись входного потока дополнительно включает в себя индикатор входной контекстной обработки, и индикатор входной контекстной обработки может быть включен в список индикаторов контекстной обработки. В этом случае, входной сетевой элемент выполняет локально выполняемую контекстную обработку согласно последовательности в списке индикаторов контекстной обработки до тех пор, пока контекстная обработка, соответствующая индикатору следующей контекстной обработки в списке индикаторов контекстной обработки, не будет принадлежать входному сетевому элементу.
В этом варианте осуществления, входной сетевой элемент выполняет операцию GTP-декапсуляции для пакета согласно контекстной обработке, соответствующей CID1. Поскольку контекстная обработка, соответствующая индикатору CID3 следующей контекстной обработки в списке, не принадлежит входному сетевому элементу, входной сетевой элемент присоединяет список оставшихся индикаторов контекстной обработки к декапсулированному пакету данных и отправляет пакет данных в обрабатывающий сетевой элемент 1, соответствующий CID2. Конкретный формат инкапсуляции пакетов может представлять собой форму самоопределяемого информационного элемента, что не ограничивается в настоящем изобретении. Возможный формат пакетов следующий:
<interim_packet>:={[CID3, CID4, CID5], [user packet]}.
903: Обрабатывающий сетевой элемент 1 последовательно выполняет контекстную обработку согласно последовательности в списке индикаторов контекстной обработки, переносимом в пакете данных, до тех пор, пока контекстная обработка, соответствующая индикатору следующей контекстной обработки в списке индикаторов контекстной обработки, не будет принадлежать обрабатывающему сетевому элементу 1.
В этом варианте осуществления, обрабатывающий сетевой элемент 1 осуществляет управление максимальной полосой пропускания в 2 Мбит/с для пакета согласно контекстной обработке, соответствующей CID3, и выполняет, согласно контексту, соответствующему CID4, оффлайновую оплату для пакета, управляемого посредством полосы пропускания. Поскольку контекстная обработка, соответствующая индикатору CID5 следующей контекстной обработки в списке индикаторов контекстной обработки, не принадлежит обрабатывающему сетевому элементу 1, обрабатывающий сетевой элемент 1 продолжает перенаправлять пакет данных, включающий в себя список оставшихся индикаторов контекстной обработки, в обрабатывающий сетевой элемент, соответствующий CID5. Конкретный формат инкапсуляции пакетов может представлять собой форму самоопределяемого информационного элемента, что не ограничивается в настоящем изобретении. Возможный формат пакетов следующий:
<interim_packet>:={[ CID5], [user packet]}.
904: Обрабатывающий сетевой элемент 2 выполняет, согласно списку индикаторов контекстной обработки, переносимому в вышеприведенном сообщении, контекстную обработку GTP-инкапсуляции, соответствующую CID5, чтобы инкапсулировать заголовок GTP-U-пакета, указываемый в контекстной обработке, в пакет данных. После выполнения вышеприведенной контекстной обработки инкапсуляции, поскольку все контексты в списке контекстов выполняются, обрабатывающий сетевой элемент 2 непосредственно перенаправляет обработанный пакет во внешнюю сеть.
Посредством вышеприведенного входного сетевого элемента и обработки посредством нескольких обрабатывающих сетевых элементов, завершается последовательность контекстной обработки, которая указывается посредством управляющего сетевого элемента, пакета данных, и пакет в конечном счете отправляется во внешнюю сеть. В этом варианте осуществления, каждый сетевой элемент определяет следующий адрес согласно CID, и следовательно, пакет может многократно проходить через обрабатывающий сетевой элемент согласно различным CID-спискам, что не ограничивается в настоящем изобретении.
Необязательно, вариант осуществления настоящего изобретения дополнительно предоставляет способ реализации с использованием протокола OpenFlow (сокращенно OF). OpenFlow-протокол расширяется, так что управляющий сетевой элемент реализует обработку записей входных потоков и записей потоков обработки для модулей перенаправления. В этом случае, согласно OpenFlow-протоколу, управляющий сетевой элемент в предыдущем варианте осуществления заменен управляющим сетевым OF-элементом, и модули OF-перенаправления реализуют функции вышеприведенного входного сетевого элемента и обрабатывающего сетевого элемента. Ссылаясь на фиг. 11, конкретная процедура следующая:
1001: Управляющий сетевой OF-элемент доставляет запись входного потока в модуль 1 OF-перенаправления посредством использования сообщения Flow_mod. Запись потока включает в себя информацию описания потока, т.е. правило согласования потоков и список идентификаторов контекстов. Список идентификаторов контекстов необязательно дополнительно включает в себя идентификаторы модулей перенаправления, которые выполняют контексты.
Идентично записи входного потока, сообщение Flow_mod, доставляемое в модуль 1 OF-перенаправления, также включает в себя информацию описания потока и индикатор обрабатывающего сетевого элемента. Индикатор обрабатывающего сетевого элемента включает в себя список индикаторов контекстной обработки, т.е. CID-список. Список индикаторов контекстной обработки включает в себя индикаторы контекстной обработки и адресную информацию модулей OF-перенаправления. Индикатор соответствующего обрабатывающего сетевого элемента в этом варианте осуществления используется для того, чтобы указывать следующий модуль OF-перенаправления, который обрабатывает пакет данных после модуля 1 OF-перенаправления. На этапе 1001, используется пример, в котором управляющий сетевой OF-элемент отправляет запись входного потока; безусловно, запись входного потока также может локально конфигурироваться.
В этом варианте осуществления, правило согласования потоков (правило согласования потоков) используется в качестве примера информации описания потока для описания и используется для того, чтобы определять то, принадлежит или нет пакет потоку услуг. Список индикаторов контекстной обработки предоставляется в качестве параметра операции Push_CID. В этом варианте осуществления, следующая запись потока используется в качестве примера:
<Flow_mod>:={ofp_match(n-Tuple),ofp_instructions[push_cid([NID1,CID1],[NID2,CID1,CID3]), Output(2)]}.
В этом варианте осуществления, номер порта, в котором расположен сетевой элемент, используется в качестве NID, и IP-адрес, MAC-адрес, доменное имя и т.п. также могут использоваться в качестве NID, или модуль перенаправления получает, посредством преобразования, адресную информацию согласно части или всему CID, что не ограничивается в настоящем изобретении.
1002: После того, как пакет данных поступает в модуль 1 OF-перенаправления, модуль 1 OF-перенаправления выполняет согласование записей потоков и присоединяет соответствующий список индикаторов контекстной обработки пакета к пакету посредством выполнения операции push_cid ([NID1, CID1],[NID2, CID1, CID3]). Присоединение может реализовываться посредством использования самоопределяемого информационного элемента, что не ограничивается в настоящем изобретении. Модуль 1 OF-перенаправления отправляет, согласно адресной информации (параметр операции Output) или идентификатору NID модуля OF-перенаправления, соответствующего первому индикатору контекстной обработки, пакет данных в модуль 2 OF-перенаправления через соответствующий порт для контекстной обработки.
1003: Модуль 2 OF-перенаправления выполняет локально выполняемую контекстную обработку для пакета данных согласно списку индикаторов контекстной обработки, переносимому в пакете. В этом варианте осуществления, например, CID1 соответствует синтаксическому DPI-анализу, и, следовательно, модуль 2 OF-перенаправления выполняет синтаксический DPI-анализ для пакета данных и необязательно присоединяет результат синтаксического анализа в форме метаданных (метаданных) к пакету. Модуль 2 OF-перенаправления удаляет индикатор контекстной обработки, который уже выполнен, из списка индикаторов контекстной обработки, переносимого в пакете данных, и отправляет, согласно адресной информации в последующем индикаторе контекстной обработки, пакет в модуль 3 OF-перенаправления, соответствующий NID2 для контекстной обработки.
В данном документе, когда список индикаторов контекстной обработки не включает в себя один идентификатор модуля перенаправления, модуль 2 OF-перенаправления может получать, посредством преобразования, адресную информацию следующего процессора согласно последующему CID-идентификатору, что не ограничивается в настоящем изобретении.
1004: Модуль 3 OF-перенаправления выполняет контекстную обработку, соответствующую CID1, и контекстную обработку, соответствующую CID3, для пакета согласно списку индикаторов контекстной обработки, переносимому в пакете, например, CID1 соответствует контекстной операции ограничения максимальной полосы пропускания (2 Мбит/с), и CID3 соответствует контекстной обработке перенаправления (порт 1). Модуль 3 OF-перенаправления удаляет вышеприведенный индикатор контекстной обработки из списка индикаторов контекстной обработки, переносимого в пакете данных, и завершает вышеприведенные операции ограничения максимальной полосы пропускания и перенаправления, чтобы перенаправлять обработанный пакет данных во внешнюю сеть.
В этом варианте осуществления, посредством доставки различных правил потоков, модуль 1 OF-перенаправления может выполнять часть контекстной обработки до перенаправления пакета данных в другой модуль OF-перенаправления. Например, на этапе 1001, следующее сообщение Flow_mod доставляется:
<Flow_mod>:={ofp_match(n-Tuple),ofp_instructions[Context(CID1), push_cid([NID1,CID1],[NID2,CID1,CID3]), Output(2)]}.
Следовательно, после выполнения контекстной обработки, соответствующей CID0, для принимаемого пакета данных, модуль 1 OF-перенаправления присоединяет CID-список к обработанному пакету данных и перенаправляет пакет данных.
В вышеприведенном решении на основе OF, ofp_instruction используется для того, чтобы указывать операцию, выполняемую посредством модуля перенаправления, такую как контекстная обработка, инкапсуляция или декапсуляция идентификаторов потоков или перенаправление. Вышеприведенная обработка также может реализовываться посредством использования списка операций OpenFlow или механизма логических портов/виртуальных портов, и подробности не описываются в этом подробном описании.
Согласно способу обработки пакетов, предоставленному в этом варианте осуществления настоящего изобретения, пакет перенаправляется в различные сетевые элементы для контекстной обработки, так что контекстная обработка может выполняться для пакета посредством использования распределенных устройств плоскости перенаправления, с тем чтобы улучшать балансировку нагрузки в ходе контекстной обработки сетевого пакета.
Как показано на фиг. 12, вариант осуществления настоящего изобретения предоставляет входной сетевой элемент, сконфигурированный с возможностью реализовывать вышеприведенный способ обработки пакетов. Входной сетевой элемент включает в себя:
- приемный блок 11, сконфигурированный с возможностью принимать пакет данных;
- блок 12 отправки, сконфигурированный с возможностью отправлять пакет данных, принимаемый посредством приемного блока 11, в обрабатывающий сетевой элемент согласно записи входного потока, так что обрабатывающий сетевой элемент выполняет контекстную обработку для пакета данных, причем:
- запись входного потока включает в себя информацию описания потока и индикатор обрабатывающего сетевого элемента, информация описания потока согласуется с пакетом данных, и индикатор обрабатывающего сетевого элемента используется для того, чтобы указывать обрабатывающий сетевой элемент, который обрабатывает пакет данных после входного сетевого элемента.
Необязательно, запись входного потока дополнительно включает в себя идентификатор потока инкапсуляции, причем идентификатор потока инкапсуляции используется для того, чтобы идентифицировать поток услуг, которому принадлежит пакет данных;
- входной сетевой элемент дополнительно включает в себя блок 13 инкапсуляции идентификаторов потоков, сконфигурированный с возможностью присоединять идентификатор потока инкапсуляции к пакету данных, так что обрабатывающий сетевой элемент получает идентификатор потока инкапсуляции из пакета данных, получает запись потока обработки согласно идентификатору потока инкапсуляции и выполняет контекстную обработку для пакета данных согласно записи потока обработки.
Необязательно, запись входного потока дополнительно включает в себя индикатор входной инкапсуляции, причем индикатор входной инкапсуляции используется для того, чтобы указывать присоединение идентификатора потока инкапсуляции к пакету данных; и
- блок 13 инкапсуляции идентификаторов потоков сконфигурирован с возможностью присоединять идентификатор потока инкапсуляции к пакету данных согласно индикатору входной инкапсуляции.
Необязательно, запись входного потока локально конфигурируется или отправляется посредством управляющего сетевого элемента, причем управляющий сетевой элемент сконфигурирован с возможностью управлять перенаправлением или обработкой, выполняемой посредством входного сетевого элемента для пакета данных.
Необязательно, индикатор обрабатывающего сетевого элемента включает в себя список индикаторов контекстной обработки, причем список индикаторов контекстной обработки включает в себя индикатор контекстной обработки;
- входной сетевой элемент дополнительно включает в себя блок 14 присоединения индикаторов обработки, сконфигурированный с возможностью присоединять список индикаторов контекстной обработки к пакету данных; и
- блок 12 отправки сконфигурирован с возможностью определять то, что следующая контекстная обработка, которая должна выполняться для пакета данных, представляет собой контекстную обработку, указываемую посредством индикатора контекстной обработки, и отправлять пакет данных в обрабатывающий сетевой элемент согласно соответствию между индикатором контекстной обработки и обрабатывающим сетевым элементом.
Необязательно, список индикаторов контекстной обработки дополнительно включает в себя адресную информацию обрабатывающего сетевого элемента, причем индикатор контекстной обработки соответствует адресной информации обрабатывающего сетевого элемента; и
- блок 12 отправки сконфигурирован с возможностью отправлять пакет данных в обрабатывающий сетевой элемент согласно адресной информации, которая соответствует индикатору контекстной обработки, обрабатывающего сетевого элемента.
Необязательно, запись входного потока локально конфигурируется или отправляется посредством управляющего сетевого элемента, причем управляющий сетевой элемент сконфигурирован с возможностью управлять перенаправлением, выполняемым посредством входного сетевого элемента для пакета данных.
Дополнительно, необязательно, запись входного потока дополнительно включает в себя индикатор входной контекстной обработки, причем индикатор входной контекстной обработки используется для того, чтобы указывать контекстную обработку, выполняемую для пакета данных; входной сетевой элемент дополнительно включает в себя блок 15 обработки; и
- блок 15 обработки сконфигурирован с возможностью осуществлять контекстную обработку для пакета данных согласно индикатору входной контекстной обработки.
Согласно входному сетевому элементу, предоставленному в этом варианте осуществления настоящего изобретения, пакет перенаправляется в различные сетевые элементы для контекстной обработки, так что контекстная обработка может выполняться для пакета посредством использования распределенных устройств плоскости перенаправления, с тем чтобы улучшать балансировку нагрузки в ходе контекстной обработки сетевого пакета.
Как показано на фиг. 13, вариант осуществления настоящего изобретения предоставляет обрабатывающий сетевой элемент, сконфигурированный с возможностью реализовывать вышеприведенный способ обработки пакетов. Обрабатывающий сетевой элемент включает в себя:
- приемный блок 21, сконфигурированный с возможностью принимать пакет данных;
- блок 22 обработки, сконфигурированный с возможностью осуществлять, согласно индикатору контекстной обработки, контекстную обработку для пакета данных, принимаемого посредством приемного блока 21, причем:
- индикатор контекстной обработки используется для того, чтобы указывать контекстную обработку, выполняемую для пакета данных.
Необязательно, блок 22 обработки сконфигурирован с возможностью получать идентификатор потока инкапсуляции из пакета данных, получать запись потока обработки согласно идентификатору потока инкапсуляции и выполнять контекстную обработку для пакета данных согласно записи потока обработки, причем:
- идентификатор потока инкапсуляции используется для того, чтобы идентифицировать поток услуг, которому принадлежит пакет данных, запись потока обработки включает в себя идентификатор потока согласования и индикатор контекстной обработки, и идентификатор потока согласования согласуется с идентификатором потока инкапсуляции.
Необязательно, когда обработанный пакет данных не включает в себя идентификатор потока инкапсуляции, блок 22 обработки дополнительно сконфигурирован с возможностью присоединять идентификатор потока к обработанному пакету данных, причем идентификатор потока представляет собой идентификатор потока инкапсуляции, либо когда запись потока обработки дополнительно включает в себя идентификатор нового потока инкапсуляции, идентификатор потока представляет собой идентификатор нового потока инкапсуляции.
Необязательно, запись потока обработки дополнительно включает в себя индикатор инкапсуляции обработки; индикатор инкапсуляции обработки используется для того, чтобы указывать присоединение идентификатора потока к обработанному пакету данных; и
- блок 22 обработки сконфигурирован с возможностью присоединять идентификатор потока к обработанному пакету данных согласно индикатору инкапсуляции обработки.
Необязательно, обрабатывающий сетевой элемент дополнительно включает в себя блок 23 отправки; и
- когда запись потока обработки не включает в себя индикатор повторно обрабатывающего сетевого элемента, блок 23 отправки отправляет пакет данных, обработанный посредством блока 22 обработки, наружу; или
- когда запись потока обработки дополнительно включает в себя индикатор повторно обрабатывающего сетевого элемента, блок 23 отправки отправляет пакет данных, обработанный посредством блока 22 обработки, в следующий обрабатывающий сетевой элемент согласно индикатору повторно обрабатывающего сетевого элемента, причем:
- индикатор повторно обрабатывающего сетевого элемента используется для того, чтобы указывать следующий обрабатывающий сетевой элемент, который обрабатывает пакет данных после обрабатывающего сетевого элемента.
Необязательно, запись потока обработки локально конфигурируется или отправляется посредством управляющего сетевого элемента, причем управляющий сетевой элемент сконфигурирован с возможностью управлять перенаправлением или обработкой, выполняемой посредством обрабатывающего сетевого элемента для пакета данных.
Необязательно:
- блок 22 обработки сконфигурирован с возможностью получать список индикаторов контекстной обработки из пакета данных, причем список индикаторов контекстной обработки включает в себя индикатор контекстной обработки, и выполнять контекстную обработку для пакета данных согласно индикатору контекстной обработки.
Необязательно, обрабатывающий сетевой элемент дополнительно включает в себя блок 23 отправки; и
- когда список индикаторов контекстной обработки не включает в себя индикатор другой контекстной обработки, блок 23 отправки отправляет пакет данных, обработанный посредством блока 22 обработки, наружу;
- или:
- когда список индикаторов контекстной обработки дополнительно включает в себя индикатор другой контекстной обработки, блок 23 отправки определяет то, что следующая контекстная обработка, которая должна выполняться для пакета данных, представляет собой контекстную обработку, указываемую посредством индикатора другой контекстной обработки, и после того, как блок 22 обработки выполняет контекстную обработку для пакета данных, отправляет пакет данных, обработанный посредством блока 22 обработки, в другой обрабатывающий сетевой элемент согласно соответствию между индикатором другой контекстной обработки и другим обрабатывающим сетевым элементом, причем:
- индикатор другой контекстной обработки используется для того, чтобы указывать контекстную обработку, выполняемую для пакета данных.
Необязательно, список индикаторов контекстной обработки дополнительно включает в себя адресную информацию другого обрабатывающего сетевого элемента, причем индикатор другой контекстной обработки соответствует адресной информации другого обрабатывающего сетевого элемента; и
- блок 23 отправки сконфигурирован с возможностью отправлять пакет данных, обработанный посредством блока обработки, в другой обрабатывающий сетевой элемент согласно адресной информации, которая соответствует индикатору другой контекстной обработки, другого обрабатывающего сетевого элемента.
Согласно обрабатывающему сетевому элементу, предоставленному в этом варианте осуществления настоящего изобретения, пакет данных перенаправляется посредством входного сетевого элемента в различные сетевые элементы для контекстной обработки, так что контекстная обработка может выполняться для пакета посредством использования распределенных устройств плоскости перенаправления, с тем чтобы улучшать балансировку нагрузки в ходе контекстной обработки сетевого пакета.
Как показано на фиг. 14, вариант осуществления настоящего изобретения предоставляет входной сетевой элемент, сконфигурированный с возможностью реализовывать вышеприведенный способ обработки пакетов. Входной сетевой элемент может реализовываться посредством использования сервера обработки пакетов и включает в себя: блок 31 связи, запоминающее устройство 32 и шину 33. Блок 31 связи и запоминающее устройство 32 соединяются между собой и обмениваются данными между собой посредством использования шины 33, и запоминающее устройство 32 сконфигурировано с возможностью сохранять данные, обработанные посредством блока 31 связи.
Блок 31 связи может представлять собой сетевой адаптер, который работает способом полнодуплексной передачи/приема, или схему приемо-передающего устройства;
Шина 33 может представлять собой шину ISA (со стандартной промышленной архитектурой, со стандартной промышленной архитектурой), шину PCI (по стандарту взаимодействия периферийных компонентов, по стандарту взаимодействия периферийных компонентов), шину EISA (с расширенной стандартной промышленной архитектурой, с расширенной стандартной промышленной архитектурой) и т.п. Шина 33 может классифицироваться на адресную шину, шину данных, шину управления и т.п. Для простоты представления, только одна жирная линия используется для представления на фиг. 14, но это не означает то, что предусмотрена только одна шина или один тип шины.
Запоминающее устройство 32 сконфигурировано с возможностью сохранять исполняемый программный код, причем программный код включает в себя компьютерную рабочую инструкцию. Запоминающее устройство 32 может включать в себя высокоскоростное оперативное запоминающее устройство либо может включать в себя энергонезависимое запоминающее устройство (энергонезависимое запоминающее устройство), например, по меньшей мере, одно запоминающее устройство на дисках.
Блок 31 связи сконфигурирован с возможностью принимать пакет данных и отправлять пакет данных, принимаемый посредством блока 31 связи, в обрабатывающий сетевой элемент согласно записи входного потока, так что обрабатывающий сетевой элемент выполняет контекстную обработку для пакета данных, причем:
- запись входного потока включает в себя информацию описания потока и индикатор обрабатывающего сетевого элемента, информация описания потока согласуется с пакетом данных, и индикатор обрабатывающего сетевого элемента используется для того, чтобы указывать обрабатывающий сетевой элемент, который обрабатывает пакет данных после входного сетевого элемента.
Необязательно, запись входного потока дополнительно включает в себя идентификатор потока инкапсуляции, причем идентификатор потока инкапсуляции используется для того, чтобы идентифицировать поток услуг, которому принадлежит пакет данных.
Входной сетевой элемент дополнительно включает в себя: процессор 34, соединенный с шиной, причем:
- процессор 34 может представлять собой центральный блок обработки (центральный блок обработки, сокращенно CPU) или может представлять собой специализированную интегральную схему (специализированную интегральную схему, сокращенно ASIC) либо может быть сконфигурирован как одна или более интегральных схем, которые реализуют варианты осуществления настоящего изобретения.
Процессор 34 сконфигурирован с возможностью присоединять идентификатор потока инкапсуляции к пакету данных, так что обрабатывающий сетевой элемент получает идентификатор потока инкапсуляции из пакета данных, получает запись потока обработки согласно идентификатору потока инкапсуляции и выполняет контекстную обработку для пакета данных согласно записи потока обработки.
Необязательно, запись входного потока дополнительно включает в себя индикатор входной инкапсуляции, причем индикатор входной инкапсуляции используется для того, чтобы указывать присоединение идентификатора потока инкапсуляции к пакету данных; и
- процессор 34 сконфигурирован с возможностью присоединять идентификатор потока инкапсуляции к пакету данных согласно индикатору входной инкапсуляции.
Необязательно, запись входного потока локально конфигурируется или отправляется посредством управляющего сетевого элемента, причем управляющий сетевой элемент сконфигурирован с возможностью управлять перенаправлением или обработкой, выполняемой посредством входного сетевого элемента для пакета данных.
Необязательно, индикатор обрабатывающего сетевого элемента включает в себя список индикаторов контекстной обработки, причем список индикаторов контекстной обработки включает в себя индикатор контекстной обработки;
- процессор 34 сконфигурирован с возможностью присоединять список индикаторов контекстной обработки к пакету данных; и
- блок 31 связи сконфигурирован с возможностью определять то, что следующая контекстная обработка, которая должна выполняться для пакета данных, представляет собой контекстную обработку, указываемую посредством индикатора контекстной обработки, и отправлять пакет данных в обрабатывающий сетевой элемент согласно соответствию между индикатором контекстной обработки и обрабатывающим сетевым элементом.
Необязательно, список индикаторов контекстной обработки дополнительно включает в себя адресную информацию обрабатывающего сетевого элемента, причем индикатор контекстной обработки соответствует адресной информации обрабатывающего сетевого элемента; и
- блок 31 связи сконфигурирован с возможностью отправлять пакет данных в обрабатывающий сетевой элемент согласно адресной информации, которая соответствует индикатору контекстной обработки, обрабатывающего сетевого элемента.
Необязательно, запись входного потока локально конфигурируется или отправляется посредством управляющего сетевого элемента, причем управляющий сетевой элемент сконфигурирован с возможностью управлять перенаправлением, выполняемым посредством входного сетевого элемента для пакета данных.
Дополнительно, необязательно, запись входного потока дополнительно включает в себя индикатор входной контекстной обработки, причем индикатор входной контекстной обработки используется для того, чтобы указывать контекстную обработку, выполняемую для пакета данных; и
- процессор 34 сконфигурирован с возможностью осуществлять контекстную обработку для пакета данных согласно индикатору входной контекстной обработки.
Согласно входному сетевому элементу, предоставленному в этом варианте осуществления настоящего изобретения, пакет перенаправляется в различные сетевые элементы для контекстной обработки, так что контекстная обработка может выполняться для пакета посредством использования распределенных устройств плоскости перенаправления, с тем чтобы улучшать балансировку нагрузки в ходе контекстной обработки сетевого пакета.
Ссылаясь на фиг. 15, вариант осуществления настоящего изобретения предоставляет обрабатывающий сетевой элемент, сконфигурированный с возможностью реализовывать вышеприведенный способ обработки пакетов. Обрабатывающий сетевой элемент может реализовываться посредством использования сервера обработки пакетов и включает в себя: процессор 41, блок 42 связи, запоминающее устройство 43 и шину 44. Процессор 41, блок 42 связи и запоминающее устройство 43 соединяются между собой и обмениваются данными между собой посредством использования шины 44. Запоминающее устройство 43 сконфигурировано с возможностью сохранять программный код, обработанный посредством процессора 41.
Блок 42 связи может представлять собой сетевой адаптер, который работает способом полнодуплексной передачи/приема, или схему приемо-передающего устройства.
Шина 44 может представлять собой шину ISA (со стандартной промышленной архитектурой, со стандартной промышленной архитектурой), шину PCI (по стандарту взаимодействия периферийных компонентов, по стандарту взаимодействия периферийных компонентов), шину EISA (с расширенной стандартной промышленной архитектурой, с расширенной стандартной промышленной архитектурой) и т.п. Шина 44 может классифицироваться на адресную шину, шину данных, шину управления и т.п. Для простоты представления, только одна жирная линия используется для представления на фиг. 15, но это не означает то, что предусмотрена только одна шина или один тип шины.
Запоминающее устройство 43 сконфигурировано с возможностью сохранять исполняемый программный код, причем программный код включает в себя компьютерную рабочую инструкцию. Запоминающее устройство 43 может включать в себя высокоскоростное оперативное запоминающее устройство либо может включать в себя энергонезависимое запоминающее устройство (энергонезависимое запоминающее устройство), например, по меньшей мере, одно запоминающее устройство на дисках.
Процессор 41 может представлять собой центральный блок обработки (центральный блок обработки, сокращенно CPU) или специализированную интегральную схему (специализированную интегральную схему, сокращенно ASIC), или одну или более интегральных схем, сконфигурированных с возможностью реализовывать этот вариант осуществления настоящего изобретения.
Блок 42 связи сконфигурирован с возможностью принимать пакет данных; и
- процессор 41 сконфигурирован с возможностью осуществлять, согласно индикатору контекстной обработки, контекстную обработку для пакета данных, принимаемого посредством блока 42 связи, причем:
- индикатор контекстной обработки используется для того, чтобы указывать контекстную обработку, выполняемую для пакета данных.
Необязательно, процессор 41 сконфигурирован с возможностью получать идентификатор потока инкапсуляции из пакета данных, получать запись потока обработки согласно идентификатору потока инкапсуляции и выполнять контекстную обработку для пакета данных согласно записи потока обработки, причем:
- идентификатор потока инкапсуляции используется для того, чтобы идентифицировать поток услуг, которому принадлежит пакет данных, запись потока обработки включает в себя идентификатор потока согласования и индикатор контекстной обработки, и идентификатор потока согласования согласуется с идентификатором потока инкапсуляции.
Необязательно, когда обработанный пакет данных не включает в себя идентификатор потока инкапсуляции, процессор 41 дополнительно сконфигурирован с возможностью присоединять идентификатор потока к обработанному пакету данных, причем идентификатор потока представляет собой идентификатор потока инкапсуляции, либо когда запись потока обработки дополнительно включает в себя идентификатор нового потока инкапсуляции, идентификатор потока представляет собой идентификатор нового потока инкапсуляции.
Необязательно, запись потока обработки дополнительно включает в себя индикатор инкапсуляции обработки; индикатор инкапсуляции обработки используется для того, чтобы указывать присоединение идентификатора потока к обработанному пакету данных; и
- процессор 41 сконфигурирован с возможностью присоединять идентификатор потока к обработанному пакету данных согласно индикатору инкапсуляции обработки.
Когда запись потока обработки не включает в себя индикатор повторно обрабатывающего сетевого элемента, блок 42 связи отправляет пакет данных, обработанный посредством процессора 41, за пределы системы обработки пакетов; или
- когда запись потока обработки дополнительно включает в себя индикатор повторно обрабатывающего сетевого элемента, блок 42 связи отправляет пакет данных, обработанный посредством процессора 41, в следующий обрабатывающий сетевой элемент согласно индикатору повторно обрабатывающего сетевого элемента, причем:
- индикатор повторно обрабатывающего сетевого элемента используется для того, чтобы указывать следующий обрабатывающий сетевой элемент, который обрабатывает пакет данных после обрабатывающего сетевого элемента.
Необязательно, запись потока обработки локально конфигурируется или отправляется посредством управляющего сетевого элемента, причем управляющий сетевой элемент сконфигурирован с возможностью управлять перенаправлением или обработкой, выполняемой посредством обрабатывающего сетевого элемента для пакета данных.
Необязательно, процессор 41 сконфигурирован с возможностью получать список индикаторов контекстной обработки из пакета данных и выполнять контекстную обработку для пакета данных согласно индикатору контекстной обработки, причем список индикаторов контекстной обработки включает в себя индикатор контекстной обработки.
Когда список индикаторов контекстной обработки не включает в себя индикатор другой контекстной обработки, блок 42 связи отправляет пакет данных, обработанный посредством процессора 41, наружу;
- или:
- когда список индикаторов контекстной обработки дополнительно включает в себя индикатор другой контекстной обработки, блок 42 связи определяет то, что следующая контекстная обработка, которая должна выполняться для пакета данных, представляет собой контекстную обработку, указываемую посредством индикатора другой контекстной обработки, и после того, как процессор 41 выполняет контекстную обработку для пакета данных, отправляет пакет данных, обработанный посредством процессора 41, в другой обрабатывающий сетевой элемент согласно соответствию между индикатором другой контекстной обработки и другим обрабатывающим сетевым элементом, причем:
- индикатор другой контекстной обработки используется для того, чтобы указывать контекстную обработку, выполняемую для пакета данных.
Необязательно, список индикаторов контекстной обработки дополнительно включает в себя адресную информацию другого обрабатывающего сетевого элемента, причем индикатор другой контекстной обработки соответствует адресной информации другого обрабатывающего сетевого элемента; и
- блок 42 связи сконфигурирован с возможностью отправлять пакет данных, обработанный посредством процессора, в другой обрабатывающий сетевой элемент согласно адресной информации, которая соответствует индикатору другой контекстной обработки, другого обрабатывающего сетевого элемента.
Согласно обрабатывающему сетевому элементу, предоставленному в этом варианте осуществления настоящего изобретения, пакет перенаправляется в различные сетевые элементы для контекстной обработки, так что контекстная обработка может выполняться для пакета посредством использования распределенных устройств плоскости перенаправления, с тем чтобы улучшать балансировку нагрузки в ходе контекстной обработки сетевого пакета.
В силу описаний вышеприведенных вариантов осуществления, специалисты в данной области техники могут ясно понимать, что настоящее изобретение может реализовываться посредством аппаратных средств, микропрограммного обеспечения или комбинации вышеозначенного. Когда настоящее изобретение реализуется посредством программного обеспечения, вышеприведенные функции могут сохраняться на машиночитаемом носителе или передаваться в качестве одной или более инструкций или кода на машиночитаемом носителе. Машиночитаемый носитель включает в себя компьютерный носитель хранения данных и среду связи, причем среда связи включает в себя любую среду, которая позволяет компьютерной программе передаваться из одного места в другое. Носитель хранения данных может представлять собой любой доступный носитель, доступный для компьютера. Ниже рассматривается в качестве примера, но только: машиночитаемый носитель может включать в себя RAM (оперативное запоминающее устройство, оперативное запоминающее устройство), ROM (постоянное запоминающее устройство, постоянное запоминающее устройство), EEPROM (электрически стираемое программируемое постоянное запоминающее устройство, электрически стираемое программируемое постоянное запоминающее устройство), CD-ROM (постоянное запоминающее устройство на компакт-дисках, постоянное запоминающее устройство на компакт-дисках) либо другое устройство хранения данных на оптических дисках, дисковый носитель хранения данных или другое дисковое устройство хранения данных или любой другой носитель, который может использоваться для того, чтобы переносить или сохранять ожидаемый программный код в форме структуры команд или данных, и к которому может осуществляться доступ посредством компьютера. Помимо этого, любое соединение может надлежащим образом задаваться как машиночитаемый носитель. Например, если программное обеспечение передается из веб-узла, сервера или другого удаленного источника посредством использования коаксиального кабеля, оптоволоконного кабеля, витой пары, DSL (цифровой абонентской линии, цифровой абонентской линии) либо беспроводных технологий, таких как инфракрасная связь, радиосвязь и микроволновая связь, коаксиальный кабель, оптоволоконный кабель, витая пара, DSL или беспроводные технологии, такие как инфракрасная связь, радиосвязь и микроволновая связь, включены в определение носителя, которому они принадлежат. Например, диск (disk) и диск (disc), используемые посредством настоящего изобретения, включают в себя CD (компакт-диск, компакт-диск), лазерный диск, оптический диск, DVD-диск (универсальный цифровой диск, универсальный цифровой диск), гибкий диск и Blu-Ray-диск, причем диск (disk), в общем, копирует данные посредством магнитного средства, а диск (disc) копирует данные оптически посредством лазерного средства. Вышеприведенная комбинация должна также быть включена в объем охраны машиночитаемого носителя.
Вышеприведенное описание представляет собой только конкретные способы реализации настоящего изобретения и не имеет намерение ограничивать объем охраны настоящего изобретения. Все изменения или замены, очевидные для специалистов в данной области техники в пределах объема, раскрытого в настоящем изобретении, должны попадать в пределы объема охраны настоящего изобретения. Следовательно, объем охраны настоящего изобретения должен зависеть от объема охраны формулы изобретения.