RU2795936C1 - Method and device for segment routing header compression, method and device for service processing - Google Patents

Method and device for segment routing header compression, method and device for service processing Download PDF

Info

Publication number
RU2795936C1
RU2795936C1 RU2022128941A RU2022128941A RU2795936C1 RU 2795936 C1 RU2795936 C1 RU 2795936C1 RU 2022128941 A RU2022128941 A RU 2022128941A RU 2022128941 A RU2022128941 A RU 2022128941A RU 2795936 C1 RU2795936 C1 RU 2795936C1
Authority
RU
Russia
Prior art keywords
segment
compressed
identifier
uncompressed
node
Prior art date
Application number
RU2022128941A
Other languages
Russian (ru)
Inventor
Цзяньчжун ВЭНЬ
Айхуа ЛЮ
Жань ЧЭНЬ
Original Assignee
ЗетТиИ Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ЗетТиИ Корпорейшн filed Critical ЗетТиИ Корпорейшн
Application granted granted Critical
Publication of RU2795936C1 publication Critical patent/RU2795936C1/en

Links

Images

Abstract

FIELD: communications.
SUBSTANCE: configuring (S11) a compressed segment identifier or an uncompressed segment identifier for each node in the segment routing path and configuring (S11), for a critical node, a compressed segment identifier, additionally performing a segment identifier type conversion for the segment identifier indicated by the field Segment Left; generating (S12) a segment list comprising configured compressed segment IDs and uncompressed segment IDs; and generating (S13) a segment routing header of the service packet, wherein the segment routing header of the service packet comprises a list of segments and a routing type field for specifying a segment routing header format, the segment routing header format corresponding to a compressed segment identifier format.
EFFECT: improving the compression of the segment routing header.
9 cl, 19 dwg

Description

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИCROSS-REFERENCE TO RELATED APPLICATIONS

[0001] По настоящей заявке испрашивается приоритет согласно заявке на выдачу патента Китая №202010285171.9, поданной 13 апреля 2020 года, содержание которой полностью включено в настоящее описание посредством ссылки.[0001] The present application claims priority under Chinese Patent Application No. 202010285171.9, filed April 13, 2020, the contents of which are incorporated herein by reference in their entirety.

ОБЛАСТЬ ТЕХНИКИFIELD OF TECHNOLOGY

[0002] Варианты осуществления настоящего изобретения относятся к области техники беспроводной связи и, в частности, к способу и устройству для сжатия заголовка сегментной маршрутизации, способу и устройству для обработки услуги, компьютерному устройству и машиночитаемому носителю.[0002] Embodiments of the present invention relate to the field of wireless communication technology and, in particular, to a method and apparatus for compressing a segment routing header, a method and apparatus for processing a service, a computer device, and a computer-readable medium.

ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯBACKGROUND OF THE INVENTION

[0003] Сегментная маршрутизация (SR, Segment Routing) представляет собой технологию для реализации маршрутизации от источника. Протокол RFC8402 определяет два стандартных механизма SR: SR-MPLS, основанный на плоскости пересылки согласно многопротокольной коммутации на основе меток (MPLS, Multi-Protocol Label Switching), и SRv6, основанный на плоскости пересылки согласно Интернет-протоколу версии 6 (IPv6, Internet Protocol Version 6). Протокол SRv6 может быть реализован непосредственно на основе расширенного заголовка маршрутизации IPv6 без дополнительной инкапсуляции, в результате чего реализуется унификация пересылки данных и туннельной пересылки данных Интернет-протокола (IP, Internet Protocol). Между тем, поскольку SRv6 использует идентификатор сегмента (SID, Segment ID) в 128-битном формате, и SID разделяется на две части, а именно: указатель местоположения (Locator) и функция (Function), можно обеспечить гибкое гибридное программирование сети и услуг, благодаря чему технология SRv6 широко распространена в промышленности.[0003] Segment Routing (SR, Segment Routing) is a technology for implementing source routing. The RFC8402 protocol defines two standard SR mechanisms: SR-MPLS, based on the forwarding plane according to Multi-Protocol Label Switching (MPLS, Multi-Protocol Label Switching), and SRv6, based on the forwarding plane according to the Internet Protocol version 6 (IPv6, Internet Protocol version 6). The SRv6 protocol can be implemented directly based on the IPv6 extended routing header without additional encapsulation, resulting in unification of data forwarding and Internet Protocol (IP) data tunneling. Meanwhile, since SRv6 uses a segment ID (SID, Segment ID) in 128-bit format, and the SID is divided into two parts, namely, the location indicator (Locator) and the function (Function), flexible network and service hybrid programming can be achieved, due to which SRv6 technology is widely used in the industry.

[0004] Однако в решении SRv6 список SID, составленный из последовательности 128-битных SID, используется для описания тракта услуги, что приводит к проблеме значительного увеличения объема служебных данных заголовка пакета. Для устранения этой проблемы в данной области техники было предложено несколько решений, относящихся к сжатию заголовка сегментной маршрутизации (SRH, Segment Routing Header), например решение uSID (draft-filsfils-spring-net-pgm-extension-srv6-usid-02) и традиционное решение сжатого SID (C-SID, Compressed SID) (draft-1i-spring-compressed-srv6-np-00).[0004] However, in the SRv6 solution, a list of SIDs composed of a sequence of 128-bit SIDs is used to describe the service path, which leads to the problem of greatly increasing the packet header overhead. To address this problem, several solutions have been proposed in the art related to Segment Routing Header (SRH) compression, such as the uSID solution (draft-filsfils-spring-net-pgm-extension-srv6-usid-02) and traditional compressed SID solution (C-SID, Compressed SID) (draft-1i-spring-compressed-srv6-np-00).

[0005] Согласно решению SRv6, пересылающему узлу (Transit) требуется только обрабатывать обычную пересылку данных IPv6, а конечному узлу (Endpoint) требуется обрабатывать заголовок SRH. Однако в указанном решении сжатия заголовка SRH всем конечным узлам требуется использовать формат сжатого SID (при этом согласно решению C-SID использование несжатого формата допускается в конечном узле последнего транзита (hop), но не допускается в промежуточном узле), то есть конечный узел, задействованный в пересылке пакетов IPv6, должен иметь возможность поддерживать сжатый SID, в результате чего в значительной степени возрастают требования к возможностям обработки SRH сетевых узлов и к планированию SID в сети, что в определенной степени ограничивает распространение и применение SRv6.[0005] According to the SRv6 solution, the forwarding node (Transit) only needs to process the normal IPv6 data forwarding, and the end node (Endpoint) needs to process the SRH header. However, in the specified SRH header compression decision, all end nodes are required to use the compressed SID format (whereas, according to the C-SID decision, the use of the uncompressed format is allowed at the end node of the last hop (hop), but not allowed at the intermediate node), that is, the end node involved in IPv6 packet forwarding, must be able to support compressed SID, which greatly increases the requirements for the SRH processing capabilities of network nodes and network SID scheduling, which limits the distribution and use of SRv6 to a certain extent.

СУЩНОСТЬ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION

[0006] В соответствии с первым аспектом, варианты осуществления настоящего изобретения предоставляют способ сжатия заголовка сегментной маршрутизации, включающий:[0006] According to a first aspect, embodiments of the present invention provide a method for compressing a segment routing header, including:

[0007] конфигурирование сжатого идентификатора сегмента или несжатого идентификатора сегмента для каждого узла в тракте сегментной маршрутизации и конфигурирование, для критического узла в тракте сегментной маршрутизации, сжатого идентификатора сегмента, дополнительно обладающего функцией выполнения преобразования типа идентификатора сегмента для идентификатора сегмента, указанного полем Segments Left (SL, оставшиеся сегменты), при этом критический узел является узлом, конфигурируемым с использованием сжатого идентификатора сегмента, из двух смежных узлов, конфигурируемых с использованием различных типов идентификаторов сегментов;[0007] configuring a compressed segment identifier or an uncompressed segment identifier for each node in the segment routing path and configuring, for a critical node in the segment routing path, a compressed segment identifier further having the function of performing a segment identifier type conversion for the segment identifier indicated by the Segments Left field ( SL, remaining segments), wherein the critical node is a node configured using a compressed segment ID, of two adjacent nodes configured using different types of segment IDs;

[0008] генерацию списка сегментов, содержащего сконфигурированный сжатый идентификатор сегмента и сконфигурированный несжатый идентификатор сегмента;[0008] generating a list of segments containing a configured compressed segment identifier and a configured uncompressed segment identifier;

[0009] генерацию заголовка сегментной маршрутизации пакета услуги, при этом заголовок сегментной маршрутизации пакета услуги содержит список сегментов и поле типа маршрутизации для указания формата заголовка сегментной маршрутизации, причем формат заголовка сегментной маршрутизации соответствует формату сжатого идентификатора сегмента.[0009] generating a segment routing header of the service packet, wherein the segment routing header of the service packet contains a list of segments and a routing type field for specifying the format of the segment routing header, wherein the format of the segment routing header corresponds to the compressed segment identifier format.

[0010] Согласно второму аспекту, варианты осуществления настоящего изобретения также предоставляют способ обработки услуги, применимый к узлам тракта сегментной маршрутизации, причем каждый узел тракта сегментной маршрутизации конфигурируют с использованием сжатого идентификатора сегмента или несжатого идентификатора сегмента, критический узел в тракте сегментной маршрутизации конфигурируют с использованием сжатого идентификатора сегмента, дополнительно обладающего функцией выполнения преобразования типа идентификатора для идентификатора сегмента, указанного SL, и критический узел является узлом, конфигурируемым с использованием сжатого идентификатора сегмента, из двух смежных узлов, конфигурируемых с использованием различных типов идентификаторов сегментов, при этом способ включает:[0010] According to a second aspect, embodiments of the present invention also provide a service processing method applicable to segment routing path nodes, wherein each segment routing path node is configured using a compressed segment identifier or an uncompressed segment identifier, a critical node in the segment routing path is configured using a compressed segment identifier, further having the function of performing an identifier type conversion for the segment identifier indicated by SL, and the critical node is a node configured using the compressed segment identifier, from two adjacent nodes configured using different types of segment identifiers, the method including:

[0011] получение списка сегментов и поля типа маршрутизации для указания формата заголовка сегментной маршрутизации из заголовка сегментной маршрутизации принятого пакета услуги, при этом список сегментов содержит сконфигурированный сжатый идентификатор сегмента и сконфигурированный несжатый идентификатор сегмента;[0011] obtaining a segment list and a routing type field for specifying a segment routing header format from a segment routing header of a received service packet, wherein the segment list contains a configured compressed segment identifier and a configured uncompressed segment identifier;

[0012] обработку текущего идентификатора сегмента в списке сегментов и изменение SL в соответствии с полем типа маршрутизации;[0012] processing the current segment ID in the segment list and changing the SL according to the routing type field;

[0013] если текущий узел является критическим узлом, выполнение преобразования типа идентификатора сегмента для идентификатора сегмента, указанного SL; и[0013] if the current node is a critical node, performing a type conversion of the segment identifier for the segment identifier indicated by the SL; And

[0014] пересылку пакета услуги в узел следующего транзита, при этом пакет услуги переносит тип идентификатора сегмента, указанного SL.[0014] forwarding the service packet to the next hop node, wherein the service packet carries the segment ID type indicated by the SL.

[0015] В соответствии с третьим аспектом, варианты осуществления настоящего изобретения также предоставляют устройство для сжатия заголовка сегментной маршрутизации, содержащее первый модуль генерации и второй модуль генерации, при этом[0015] According to a third aspect, embodiments of the present invention also provide an apparatus for compressing a segment routing header, comprising a first generation module and a second generation module, wherein

[0016] модуль конфигурирования выполнен с возможностью конфигурирования сжатого идентификатора сегмента или несжатого идентификатора сегмента для каждого узла в тракте сегментной маршрутизации и конфигурирования, для критического узла в тракте сегментной маршрутизации, сжатого идентификатора сегмента, дополнительно обладающего функцией выполнения преобразования типа идентификатора сегмента для идентификатора сегмента, указанного полем Segments Left (SL), при этом критический узел является узлом, конфигурируемым с использованием сжатого идентификатора сегмента, из двух смежных узлов, конфигурируемых с использованием различных типов идентификаторов сегментов;[0016] the configuration module is configured to configure a compressed segment identifier or an uncompressed segment identifier for each node in the segment routing path and configure, for a critical node in the segment routing path, a compressed segment identifier, additionally having the function of performing segment identifier type conversion for the segment identifier, indicated by the Segments Left (SL) field, wherein the critical node is a node configured using a compressed segment identifier, of two adjacent nodes configured using different types of segment identifiers;

[0017] первый модуль генерации выполнен с возможностью генерации списка сегментов, содержащего сконфигурированный сжатый идентификатор сегмента и сконфигурированный несжатый идентификатор сегмента;[0017] the first generation module is configured to generate a list of segments containing a configured compressed segment identifier and a configured uncompressed segment identifier;

[0018] второй модуль генерации выполнен с возможностью генерации заголовка сегментной маршрутизации пакета услуги, при этом заголовок сегментной маршрутизации пакета услуги содержит список сегментов и поле типа маршрутизации для указания формата заголовка сегментной маршрутизации, и формат заголовка сегментной маршрутизации соответствует формату сжатого идентификатора сегмента.[0018] The second generation module is configured to generate a segment routing header of the service packet, wherein the segment routing header of the service packet contains a list of segments and a routing type field to indicate the format of the segment routing header, and the format of the segment routing header corresponds to the compressed segment identifier format.

[0019] Согласно четвертому аспекту, варианты осуществления настоящего изобретения также предоставляют устройство для обработки услуги, применимое к узлам тракта сегментной маршрутизации, причем каждый узел тракта сегментной маршрутизации конфигурируется с использованием сжатого идентификатора сегмента или несжатого идентификатора сегмента, критический узел в тракте сегментной маршрутизации конфигурируется с использованием сжатого идентификатора сегмента, дополнительно обладающего функцией выполнения преобразования типа идентификатора сегмента для идентификатора сегмента, указанного SL, и критический узел является узлом, конфигурируемым с использованием сжатого идентификатора сегмента, из двух смежных узлов, конфигурируемых с использованием различных типов идентификаторов сегментов; и устройство для обработки услуги содержит модуль получения, модуль обработки, модуль преобразования и модуль пересылки, при этом[0019] According to a fourth aspect, embodiments of the present invention also provide a service processing apparatus applicable to segment routing path nodes, wherein each segment routing path node is configured using a compressed segment identifier or an uncompressed segment identifier, a critical node in the segment routing path is configured with using a compressed segment ID further having a function of performing segment ID type conversion on the segment ID specified by the SL, and the critical node is a node configured using the compressed segment ID, of two adjacent nodes configured using different types of segment ID; and the service processing device comprises an acquisition module, a processing module, a conversion module, and a forwarding module, wherein

[0020] модуль получения выполнен с возможностью получения списка сегментов и поля типа маршрутизации для указания формата заголовка сегментной маршрутизации из заголовка сегментной маршрутизации принятого пакета услуги, и список сегментов содержит сконфигурированный сжатый идентификатор сегмента и сконфигурированный несжатый идентификатор сегмента;[0020] the acquisition module is configured to obtain a segment list and a routing type field to indicate the segment routing header format from the segment routing header of the received service packet, and the segment list contains a configured compressed segment identifier and a configured uncompressed segment identifier;

[0021] модуль обработки выполнен с возможностью обработки текущего идентификатора сегмента в списке сегментов и изменения SL в соответствии с полем типа маршрутизации;[0021] The processing module is configured to process the current segment ID in the segment list and change the SL according to the routing type field;

[0022] модуль преобразования выполнен с возможностью преобразования типа идентификатора сегмента для идентификатора сегмента, указанного SL, если текущий узел является критическим узлом; и[0022] The conversion module is configured to convert the segment identifier type to the segment identifier indicated by the SL if the current node is a critical node; And

[0023] модуль пересылки выполнен с возможностью пересылки пакета услуги в узел следующего транзита, при этом пакет услуги переносит тип идентификатора сегмента, указанного SL.[0023] The forwarding module is configured to forward the service packet to the next hop node, wherein the service packet carries the segment identifier type indicated by the SL.

[0024] В соответствии с пятым аспектом, варианты осуществления настоящего изобретения также предоставляют компьютерное устройство, содержащее один или более процессоров и запоминающее устройство, в котором хранится одна или более программ, при исполнении которых одним или более процессорами обеспечивается выполнение одним или более процессорами способа сжатия заголовка сегментной маршрутизации или способа обработки услуги, представленных описанными выше вариантами осуществления изобретения.[0024] In accordance with a fifth aspect, embodiments of the present invention also provide a computing device comprising one or more processors and a storage device that stores one or more programs, the execution of which causes the one or more processors to execute a compression method. segment routing header or service processing method represented by the above-described embodiments of the invention.

[0025] В соответствии с шестым аспектом, варианты осуществления настоящего изобретения также предоставляют машиночитаемый носитель, на котором хранится компьютерная программа, при исполнении которой осуществляется способ сжатия заголовка сегментной маршрутизации или способ обработки услуги, представленные описанными выше вариантами осуществления изобретения.[0025] According to a sixth aspect, embodiments of the present invention also provide a computer-readable medium storing a computer program executing the segment routing header compression method or service processing method of the above-described embodiments.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS

[0026] На фиг. 1 показана блок-схема способа сжатия заголовка сегментной маршрутизации в соответствии с вариантом осуществления настоящего изобретения;[0026] FIG. 1 is a flowchart of a segment routing header compression method according to an embodiment of the present invention;

[0027] на фиг. 2 показана блок-схема способа обработки услуги в соответствии с вариантом осуществления настоящего изобретения;[0027] in FIG. 2 is a flowchart of a service processing method according to an embodiment of the present invention;

[0028] на фиг. 3 показана блок-схема изменения SL в соответствии с полем типа маршрутизации согласно варианту осуществления настоящего изобретения;[0028] in FIG. 3 is a flowchart of changing SL according to a routing type field according to an embodiment of the present invention;

[0029] на фиг. 4 показана схема сетевой топологии, представленная конкретным вариантом 1 осуществления настоящего изобретения;[0029] in FIG. 4 is a diagram of a network topology represented by Specific Embodiment 1 of the present invention;

[0030] на фиг. 5 показана структурная схема SRH в направлении A->Z передачи пакета услуги, представленная конкретным вариантом 1 осуществления настоящего изобретения;[0030] in FIG. 5 is a block diagram of the SRH in the transmission direction A->Z of a service packet transmission of the Specific Embodiment 1 of the present invention;

[0031] на фиг. 6 показана структурная схема SRH в направлении Z->A передачи пакета услуги, представленная конкретным вариантом 1 осуществления настоящего изобретения;[0031] in FIG. 6 is a block diagram of the SRH in the transmission direction Z->A of the service packet transmission of the Specific Embodiment 1 of the present invention;

[0032] на фиг. 7 показана схема процесса обработки услуги в направлении А->Z передачи пакета услуги, представленная конкретным вариантом 1 осуществления настоящего изобретения;[0032] in FIG. 7 is a flow chart of service processing in the A->Z transmission direction of a service packet in Embodiment 1 of the present invention;

[0033] на фиг. 8 показана схема процесса обработки услуги в направлении Z->А передачи пакета услуги, представленная конкретным вариантом 1 осуществления настоящего изобретения;[0033] in FIG. 8 is a flow chart of service processing in the Z->A direction of service packet transmission in Embodiment 1 of the present invention;

[0034] на фиг. 9 показана схема сетевой топологии, представленная конкретным вариантом 2 осуществления настоящего изобретения;[0034] in FIG. 9 is a diagram of a network topology represented by Embodiment 2 of the present invention;

[0035] на фиг. 10 показана структурная схема SRH_Ext в направлении A->Z передачи пакета услуги, представленная конкретным вариантом 2 осуществления настоящего изобретения;[0035] in FIG. 10 is a block diagram of SRH_Ext in the transmission direction A->Z of a service packet in Embodiment 2 of the present invention;

[0036] на фиг. 11 показана структурная схема SRH_Ext в направлении Z->A передачи пакета услуги, представленная конкретным вариантом 2 осуществления настоящего изобретения;[0036] in FIG. 11 is a block diagram of SRH_Ext in the transmission direction Z->A of a service packet in Embodiment 2 of the present invention;

[0037] на фиг. 12 показана схема процесса обработки услуги в направлении A->Z передачи пакета услуги, представленная конкретным вариантом 2 осуществления настоящего изобретения;[0037] in FIG. 12 is a flow chart of service processing in the transmission direction A->Z of a service packet in Embodiment 2 of the present invention;

[0038] на фиг. 13 показана схема процесса обработки услуги в направлении Z->A передачи пакета услуги, представленная конкретным вариантом 2 осуществления настоящего изобретения;[0038] in FIG. 13 is a flow chart of service processing in the direction Z->A of service packet transmission in Embodiment 2 of the present invention;

[0039] на фиг. 14 показана структурная схема SRH в направлении A->Z передачи пакета услуги, представленная конкретным вариантом 3 осуществления настоящего изобретения;[0039] in FIG. 14 is a block diagram of the SRH in the transmission direction A->Z of the service packet transmission of the Embodiment 3 of the present invention;

[0040] на фиг. 15 показана структурная схема SRH в направлении Z->A передачи пакета услуги согласно варианту 3 осуществления настоящего изобретения;[0040] in FIG. 15 is a block diagram of the SRH in the transmission direction Z->A of a service packet according to Embodiment 3 of the present invention;

[0041] на фиг. 16 показана схема процесса обработки услуги в направлении A->Z передачи пакета услуги, представленная конкретным вариантом 3 осуществления настоящего изобретения;[0041] in FIG. 16 is a flow chart of service processing in the transmission direction A->Z of a service packet in Embodiment 3 of the present invention;

[0042] на фиг. 17 показана схема процесса обработки услуги в направлении Z->A передачи пакета услуги, представленная конкретным вариантом 3 осуществления настоящего изобретения;[0042] in FIG. 17 is a flow chart of service processing in the Z->A service packet transmission direction of Embodiment 3 of the present invention;

[0043] на фиг. 18 показана структурная схема устройства для сжатия заголовка сегментной маршрутизации в соответствии с вариантом осуществления настоящего изобретения;[0043] in FIG. 18 is a block diagram of an apparatus for compressing a segment routing header according to an embodiment of the present invention;

[0044] на фиг. 19 показана структурная схема устройства для обработки услуги в соответствии с вариантом осуществления настоящего изобретения.[0044] in FIG. 19 is a block diagram of a service processing apparatus according to an embodiment of the present invention.

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯDETAILED DESCRIPTION OF THE INVENTION

[0045] Далее более подробно описываются примеры осуществления настоящего изобретения со ссылкой на прилагаемые чертежи, однако эти примеры могут быть реализованы в различных формах, и возможности реализации не должны ограничиваться приведенными в этом описании вариантами. Напротив, целью представления этих вариантов осуществления изобретения является более тщательное и полное описание настоящего изобретения и предоставление специалистам в этой области техники возможности понять изобретение.[0045] The following describes in more detail the embodiments of the present invention with reference to the accompanying drawings, however, these examples can be implemented in various forms, and implementation should not be limited to the options given in this description. Rather, the purpose of presenting these embodiments of the invention is to more thoroughly and completely describe the present invention and to enable those skilled in the art to understand the invention.

[0046] В данном описании сочетание "и/или" используется для обозначения любой комбинации или всех комбинаций одного или более связанных перечисляемых элементов.[0046] In this description, the combination "and/or" is used to refer to any combination or all combinations of one or more related enumerated elements.

[0047] Применяемая терминология используется только для описания конкретных вариантов осуществления изобретения и не предназначена для ограничения изобретения. В этом документе формы единственного числа также включают формы множественного числа, если из контекста явно не следует иное. Кроме того, следует понимать, что термины "содержит" и/или "состоящий из", используемые в этом описании, указывают на наличие конкретных признаков, совокупности, шагов, операций, элементов и/или компонентов, но не исключают наличие или добавление одного или более других признаков, совокупности, шагов, операций, элементов, компонентов и/или групп компонентов.[0047] The terminology used is only used to describe specific embodiments of the invention and is not intended to limit the invention. In this document, singular forms also include plural forms, unless the context clearly dictates otherwise. In addition, it should be understood that the terms "comprises" and/or "consisting of", as used in this description, indicate the presence of specific features, collection, steps, operations, elements and/or components, but do not exclude the presence or addition of one or more than other signs, aggregates, steps, operations, elements, components and / or groups of components.

[0048] Описываемые варианты осуществления изобретения могут приводиться со ссылкой на виды сверху и/или поперечные сечения на основе идеальных диаграмм настоящего изобретения. Соответственно, типовые иллюстрации могут быть изменены согласно технике изготовления и/или допускам. Таким образом, варианты осуществления настоящего изобретения не ограничены теми, что показаны на чертежах, но включают модифицированные варианты, основанные на конфигурациях, полученных в процессе производства.[0048] The described embodiments of the invention may be given with reference to top views and/or cross sections based on the ideal diagrams of the present invention. Accordingly, the typical illustrations may be modified according to manufacturing techniques and/or tolerances. Thus, embodiments of the present invention are not limited to those shown in the drawings, but include modifications based on configurations obtained during the manufacturing process.

[0049] Если не указано иное, все термины (включая технические и научные термины), используемые в этом описании, имеют значение, общепринятое в данной области техники. Кроме того, следует принимать во внимание, что термины, определенные в общих словарях, следует толковать как имеющие значения, согласующиеся с их значениями в контексте соответствующей области техники и настоящего описания, и эти термины не должны рассматриваться как имеющие идеализированные или слишком формальные значения, если явно не указано иное.[0049] Unless otherwise indicated, all terms (including technical and scientific terms) used in this description have the meaning generally accepted in the art. In addition, it should be appreciated that terms defined in general dictionaries should be construed as having meanings consistent with their meanings in the context of the relevant art and the present specification, and these terms should not be considered as having idealized or overly formal meanings unless not explicitly stated otherwise.

[0050] Согласно варианту осуществления настоящего изобретения предлагается способ сжатия заголовка сегментной маршрутизации. Как показано на фиг. 1, способ сжатия заголовка сегментной маршрутизации включает описываемые ниже шаги S11-S13.[0050] According to an embodiment of the present invention, a method for compressing a segment routing header is provided. As shown in FIG. 1, the segment routing header compression method includes steps S11-S13 described below.

[0051] S11: конфигурирование сжатого идентификатора сегмента или несжатого идентификатора сегмента для каждого узла в тракте сегментной маршрутизации и конфигурирование, для критического узла в тракте сегментной маршрутизации, сжатого идентификатора сегмента, дополнительно обладающего функцией выполнения преобразования типа идентификатора сегмента для идентификатора сегмента, указанного полем Segments Left (SL).[0051] S11: configuring a compressed segment identifier or an uncompressed segment identifier for each node in the segment routing path and configuring, for a critical node in the segment routing path, a compressed segment identifier further having the function of performing segment identifier type conversion for the segment identifier indicated by the Segments field Left (SL).

[0052] Критический узел является узлом, конфигурируемым с использованием сжатого идентификатора сегмента, из двух смежных узлов, конфигурируемых с использованием различных типов идентификаторов сегментов. Согласно варианту осуществления настоящего изобретения, тип идентификаторов сегментов включает сжатые идентификаторы сегментов и несжатые идентификаторы сегментов. Например, тракт сегментной маршрутизации формируют следующим образом: узел А-узел В-узел С, при этом сжатый идентификатор сегмента конфигурируют для узла А и узла В, а несжатый идентификатор сегмента конфигурируют для узла С. Типы идентификаторов сегментов узла В и узла С различны, и узел В конфигурируют с использованием сжатого идентификатора сегмента. Следовательно, узел В является критическим узлом в тракте сегментной маршрутизации.[0052] A critical node is a node configured using a compressed segment identifier, from two adjacent nodes configured using different types of segment identifiers. According to an embodiment of the present invention, the type of segment identifiers includes compressed segment identifiers and uncompressed segment identifiers. For example, a segment routing path is configured as Node A-Node B-Node C, where a compressed segment ID is configured for Node A and Node B, and an uncompressed segment ID is configured for Node C. The segment ID types of Node B and Node C are different, and the Node B is configured using the compressed segment identifier. Therefore, Node B is a critical node in the segment routing path.

[0053] На этом шаге устройство для сжатия заголовка сегментной маршрутизации конфигурирует либо сжатый идентификатор сегмента, либо несжатый идентификатор сегмента для каждого узла в тракте сегментной маршрутизации, а также конфигурирует для критического узла этого тракта сжатый идентификатор сегмента, дополнительно обладающий функцией выполнения преобразования типа идентификатора сегмента для идентификаторов сегментов, указанных полем Segments Left, то есть SL. То есть существуют два типа сжатых идентификаторов сегментов: один тип представляет сжатые идентификаторы сегментов, которые конфигурируются для некритических узлов и могут быть реализованы с использованием существующих сжатых идентификаторов сегментов; другой тип представляет сжатый идентификатор сегмента, который конфигурируется для критического узла и обладает функцией выполнения преобразования типа идентификатора сегмента для идентификаторов сегментов, указанных SL, например, такой идентификатор может быть реализован посредством поля функции, определяющей идентификатор сегмента.[0053] In this step, the segment routing header compression device configures either a compressed segment identifier or an uncompressed segment identifier for each node in the segment routing path, and also configures, for the critical node of this path, a compressed segment identifier, further having the function of performing segment identifier type conversion for the segment IDs indicated by the Segments Left field, i.e. SL. That is, there are two types of compressed shard IDs: one type represents compressed shard IDs that are configured for non-critical nodes and can be implemented using existing compressed shard IDs; the other type represents a compressed shard ID that is configured for a critical node and has the function of performing a shard ID type conversion on the shard IDs specified by the SL, for example, such an ID can be implemented by a function field specifying the shard ID.

[0054] После того как устройство для сжатия заголовка сегментной маршрутизации сконфигурирует для соответствующих узлов сжатые идентификаторы сегментов и несжатые идентификаторы сегментов, каждый узел может распространить сжатые идентификаторы сегментов и несжатые идентификаторы сегментов на весь домен SR посредством протокола внутреннего шлюза (IGP, Interior Gateway Protocol).[0054] After the segment routing header compressor configures the compressed segment identifiers and uncompressed segment identifiers for the respective nodes, each node can distribute the compressed segment identifiers and uncompressed segment identifiers to the entire SR domain through the Interior Gateway Protocol (IGP) .

[0055] S12: генерация списка сегментов, содержащего сконфигурированный сжатый идентификатор сегмента и сконфигурированный несжатый идентификатор сегмента.[0055] S12: generating a list of segments containing a configured compressed segment identifier and a configured uncompressed segment identifier.

[0056] На этом шаге узел-источник тракта сегментной маршрутизации вычисляет и генерирует список сегментов, и список сегментов сжимают в сжатые идентификаторы сегментов или несжатые идентификаторы сегментов соответствующих узлов согласно требованиям программирования сети. В списке сегментов идентификаторы сегментов узлов в тракте сегментной маршрутизации перечислены в порядке пересылки пакетов услуги.[0056] In this step, the segment routing path source node calculates and generates a segment list, and the segment list is compressed into compressed segment identifiers or uncompressed segment identifiers of the respective nodes according to the network programming requirements. In the segment list, the segment identifiers of the nodes in the segment routing path are listed in the order in which service packets are forwarded.

[0057] S13: генерация заголовка сегментной маршрутизации пакета услуги, при этом заголовок сегментной маршрутизации пакета услуги содержит список сегментов и поле типа маршрутизации для указания формата заголовка сегментной маршрутизации, причем формат заголовка сегментной маршрутизации соответствует формату сжатого идентификатора сегмента.[0057] S13: Generation of a segment routing header of the service packet, wherein the segment routing header of the service packet contains a list of segments and a routing type field to indicate the format of the segment routing header, the format of the segment routing header corresponds to the compressed segment identifier format.

[0058] На этом шаге список сегментов переносят в заголовке сегментной маршрутизации (SRH) пакета услуги. Заголовок сегментной маршрутизации пакета услуги также содержит поле типа маршрутизации. Поле типа маршрутизации используют для указания формата заголовка сегментной маршрутизации. Формат заголовка сегментной маршрутизации соответствует формату сжатого идентификатора сегмента, и способы изменения SL, определяемые различными форматами заголовка сегментной маршрутизации, различны. Далее более подробно описываются способы изменения SL, определяемые различными форматами заголовка сегментной маршрутизации.[0058] In this step, the list of segments is carried in the segment routing header (SRH) of the service packet. The segment routing header of the service packet also contains a routing type field. The routing type field is used to specify the format of the segment routing header. The format of the segment routing header corresponds to the format of the compressed segment identifier, and the ways of changing the SL determined by the different formats of the segment routing header are different. The following describes in more detail the ways in which the SL can be modified by various segment routing header formats.

[0059] Согласно способу сжатия заголовка сегментной маршрутизации, представленному посредством вариантов осуществления настоящего изобретения, каждый узел в тракте сегментной маршрутизации конфигурируют с использованием сжатого идентификатора сегмента или несжатого идентификатора сегмента, и для критического узла дополнительно конфигурируют сжатый идентификатор сегмента, обладающий функцией выполнения преобразования типа идентификатора сегмента для идентификаторов сегментов, указанным набором SL, при этом критический узел является узлом, конфигурируемым с использованием сжатого идентификатора сегмента, из двух смежных узлов, конфигурируемых с использованием различных типов идентификаторов сегментов; генерируют список сегментов, содержащий сконфигурированные сжатые идентификаторы сегментов и несжатые идентификаторы сегментов; генерируют заголовок сегментной маршрутизации пакета услуги, при этом заголовок сегментной маршрутизации пакета услуги содержит список сегментов и поле типа маршрутизации для указания формата заголовка сегментной маршрутизации, причем формат заголовка сегментной маршрутизации соответствует формату сжатого идентификатора сегмента. Согласно варианту осуществления настоящего изобретения путем выполнения преобразования типа идентификатора сегмента и определения формата заголовка сегментной маршрутизации, соответствующего формату сжатого идентификатора сегмента, можно добиться гибридного сетевого взаимодействия и гибридного программирования узлов, конфигурируемых с использованием сжатых идентификаторов сегментов, и узлов, конфигурируемых с использованием несжатых идентификаторов сегментов, благодаря чему маршрутизация SRv6 становится применимой к более сложной среде сетевого взаимодействия, что способствует быстрой установке средств SRv6 в существующей сети.[0059] According to the segment routing header compression method presented by the embodiments of the present invention, each node in the segment routing path is configured using a compressed segment identifier or an uncompressed segment identifier, and a compressed segment identifier is further configured for the critical node having a function of performing identifier type conversion a segment for segment IDs specified by the SL set, wherein the critical node is a node configured using a compressed segment ID, of two adjacent nodes configured using different types of segment IDs; generating a list of segments containing configured compressed segment identifiers and uncompressed segment identifiers; generating a segment routing header of the service packet, wherein the segment routing header of the service packet contains a list of segments and a routing type field for specifying the format of the segment routing header, wherein the format of the segment routing header corresponds to the compressed segment identifier format. According to an embodiment of the present invention, by performing segment ID type conversion and determining the segment routing header format corresponding to the compressed segment ID format, hybrid networking and hybrid programming of nodes configured using compressed segment IDs and nodes configured using uncompressed segment IDs can be achieved. , making SRv6 routing applicable to more complex networking environments, facilitating rapid deployment of SRv6 capabilities in an existing network.

[0060] Согласно некоторым вариантам осуществления изобретения критический узел является узлом, конфигурируемым с использованием сжатого идентификатора сегмента, и узел следующего транзита является узлом, конфигурируемым с использованием несжатого идентификатора сегмента. Например, тракт сегментной маршрутизации формируют следующим образом: узел А-узел В-узел С, тракт передачи пакета услуги представляет собой тракт А-В-С, при этом узел А и узел В конфигурируют с использованием сжатых идентификаторов сегментов, узел С конфигурируют с использованием несжатого идентификатора сегмента, и узел В является критическим узлом. Соответственно, функция выполнения преобразования типа идентификатора сегмента для идентификатора сегмента, указанного SL, является первой функцией преобразования, предназначенной для преобразования типа идентификатора сегмента, указанного SL, в несжатые идентификаторы сегментов.[0060] According to some embodiments of the invention, a critical node is a node configured using a compressed segment identifier, and a next hop node is a node configured using an uncompressed segment identifier. For example, the segment routing path is formed as follows: node A-node B-node C, the transmission path of the service packet is the path A-B-C, while node A and node B are configured using compressed segment identifiers, node C is configured using uncompressed segment ID, and node B is the critical node. Accordingly, the function for performing segment ID type conversion for the segment ID specified by SL is the first conversion function for converting the type of segment ID specified by SL to uncompressed segment IDs.

[0061] Согласно некоторым вариантам осуществления изобретения критический узел является узлом, конфигурируемым с использованием сжатого идентификатора сегмента, и узел предшествующего транзита является узлом, уже сконфигурированным с использованием несжатого идентификатора сегмента. Например, тракт сегментной маршрутизации формируют следующим образом: узел А-узел В-узел С, тракт передачи пакета услуги представляет собой тракт С-В-А, при этом узел А и узел В конфигурируют с использованием сжатых идентификаторов сегментов, узел С конфигурируют с использованием несжатого идентификатора сегмента, и узел В является критическим узлом. Соответственно, функция выполнения преобразования типа идентификатора сегмента для идентификатора сегмента, указанного SL, является второй функцией преобразования, предназначенной для преобразования типа идентификатора сегмента, указанного SL, в сжатые идентификаторы сегментов.[0061] According to some embodiments of the invention, a critical node is a node configured using a compressed segment identifier, and a prior hop node is a node already configured using an uncompressed segment identifier. For example, the segment routing path is formed as follows: Node A - Node B - Node C, the service packet transmission path is C-B-A, Node A and Node B are configured using compressed segment identifiers, Node C is configured using uncompressed segment ID, and node B is the critical node. Accordingly, the function for performing segment ID type conversion on the segment ID indicated by SL is the second conversion function for converting the type of segment ID indicated by SL to compressed segment IDs.

[0062] Согласно некоторым вариантам осуществления изобретения заголовок сегментной маршрутизации пакета услуги может также содержать поле флага (Flag) для указания типа идентификатора сегмента, указанного SL. Например, если значение поля флага равно 1, это указывает на то, что идентификатор сегмента, указанный текущим SL, является сжатым идентификатором сегмента; если значение поля флага равно 0, это указывает на то, что идентификатор сегмента, указанный текущим SL, является несжатым идентификатором сегмента.[0062] According to some embodiments of the invention, the segment routing header of the service packet may also contain a flag field (Flag) to indicate the type of segment identifier indicated by the SL. For example, if the value of the flag field is 1, this indicates that the segment ID indicated by the current SL is a compressed segment ID; if the value of the flag field is 0, this indicates that the segment ID indicated by the current SL is an uncompressed segment ID.

[0063] Первая функция преобразования включает изменение значения поля флага в заголовке сегментной маршрутизации принятого пакета услуги на значение, представляющее флаг несжатого сегмента (то есть Flag=0). То есть первая функция преобразования определена как функция End.uzip, которая используется для реализации обработки преобразования сжатого идентификатора сегмента в несжатый идентификатор сегмента, при этом обработка заключается в следующем: изменение флага для изменения SL для указания несжатого идентификатора сегмента. Следует отметить, что обработка End.uzip может также включать операцию End сжатого идентификатора сегмента, при этом различным сжатым идентификаторам сегментов соответствуют различные схемы операции End, то есть вариант осуществления настоящего изобретения интегрирует схемы сжатия для различных идентификаторов сегментов.[0063] The first transform function includes changing the value of the flag field in the segment routing header of the received service packet to a value representing the uncompressed segment flag (ie, Flag=0). That is, the first conversion function is defined as the End.uzip function, which is used to implement processing for converting a compressed segment ID to an uncompressed segment ID, the processing being: changing a flag to change SL to indicate an uncompressed segment ID. It should be noted that End.uzip processing may also include an End operation of a compressed segment ID, with different compressed segment IDs corresponding to different schemes of the End operation, i.e., an embodiment of the present invention integrates compression schemes for different segment IDs.

[0064] Вторая функция преобразования включает изменение значения поля флага в заголовке сегментной маршрутизации принятого пакета услуги на значение, указывающее сжатый идентификатора сегмента (то есть Flag=1). То есть вторая функция преобразования определена как функция End.zip, которая используется для реализации обработки преобразования несжатого идентификатора сегмента в сжатый идентификатор сегмента, при этом обработка заключается в следующем: изменение флага для изменения SL для указания сжатого идентификатора сегмента. Следует отметить, что обработка End.zip может также включать операцию End сжатого идентификатора сегмента, при этом различные сжатые идентификаторы сегментов имеют различные схемы операции End, то есть вариант осуществления настоящего изобретения интегрирует схемы сжатия для различных идентификаторов сегментов.[0064] The second transformation function includes changing the value of the flag field in the segment routing header of the received service packet to a value indicating a compressed segment identifier (ie, Flag=1). That is, the second conversion function is defined as the End.zip function, which is used to implement processing for converting an uncompressed segment ID to a compressed segment ID, the processing being: changing a flag to change SL to indicate a compressed segment ID. It should be noted that End.zip processing may also include an End operation of a compressed segment ID, where different compressed segment IDs have different End operation schemes, that is, an embodiment of the present invention integrates compression schemes for different segment IDs.

[0065] Согласно некоторым вариантам осуществления изобретения значение поля типа маршрутизации является первым заранее заданным значением, например Routing type = 6. Соответственно, заголовок сегментной маршрутизации пакета услуги также содержит поле расширения (SRH_Ext), которое используется для указания первого формата заголовка сегментной маршрутизации, при этом выполняют следующую функцию: после завершения обработки сжатого идентификатора сегмента уменьшение значения SL на n, где n - отношение длины сжатого идентификатора сегмента к длине поддерживаемого самого короткого сжатого идентификатора сегмента, при этом n является положительным целым числом; и после завершения обработки несжатого идентификатора сегмента уменьшение значения SL на m, где m - отношение длины несжатого идентификатора сегмента к длине поддерживаемого самого короткого сжатого идентификатора сегмента, при этом m является положительным целым числом.[0065] According to some embodiments of the invention, the value of the routing type field is the first predefined value, for example, Routing type = 6. Accordingly, the segment routing header of the service packet also contains an extension field (SRH_Ext), which is used to indicate the first format of the segment routing header, when this performs the following function: after the processing of the compressed segment identifier, decrease the value of SL by n, where n is the ratio of the length of the compressed segment identifier to the length of the shortest compressed segment identifier supported, with n being a positive integer; and upon completion of processing the uncompressed segment identifier, decrementing the value of SL by m, where m is the ratio of the length of the uncompressed segment identifier to the length of the shortest compressed segment identifier supported, with m being a positive integer.

[0066] То есть в заголовке сегментной маршрутизации пакета услуги может использоваться новое поле, определяемое как SRHExt. Поле SRHExt может поддерживать гибридное программирование сжатых идентификаторов сегментов и несжатых идентификаторов сегментов, даже программирование сжатых идентификаторов сегментов с различными длинами. В этом случае операцию SL переопределяют в соответствии с самой короткой длиной сжатых идентификаторов сегментов. Например, если длина поддерживаемого самого короткого сжатого идентификатора сегмента составляет 16 битов, то поле SRH_Ext определяет следующие функции:[0066] That is, a new field defined as SRHExt can be used in the segment routing header of the service packet. The SRHExt field can support hybrid programming of compressed segment IDs and uncompressed segment IDs, even programming of compressed segment IDs with different lengths. In this case, the SL operation is redefined according to the shortest length of the compressed segment identifiers. For example, if the shortest compressed segment identifier supported is 16 bits long, then the SRH_Ext field defines the following functions:

[0067] после завершения обработки 16-битного сжатого идентификатора сегмента уменьшение SL на 1 в операции End;[0067] after the processing of the 16-bit compressed segment identifier is completed, decrease SL by 1 in the End operation;

[0068] после завершения обработки 32-битного сжатого идентификатора сегмента уменьшение SL на 2 в операции End;[0068] upon completion of processing the 32-bit compressed segment ID, decrease SL by 2 in the End operation;

[0069] после завершения обработки 64-битного сжатого идентификатора сегмента уменьшение SL на 4 в операции End; и[0069] upon completion of processing the 64-bit compressed segment identifier, decrease SL by 4 in the End operation; And

[0070] после завершения обработки несжатого идентификатора сегмента (несжатого идентификатора сегмента длиной 128 битов) уменьшение SL на 8 в операции End.[0070] upon completion of the processing of the uncompressed segment identifier (uncompressed segment identifier 128 bits long), decrease SL by 8 in the End operation.

[0071] Согласно некоторым вариантам осуществления изобретения значение поля типа маршрутизации является вторым заранее заданным значением, например, Routing type = 4. В этом случае заголовок сегментной маршрутизации продолжает использовать текущее поле типа маршрутизации, однако требуется переопределить функцию поля типа маршрутизации для обеспечения совместимости как со сжатыми, так и с несжатыми идентификаторами сегментов. Более конкретно, поле типа маршрутизации используют для указания второго формата заголовка сегментной маршрутизации, который содержит р сжатых идентификаторов сегментов, занимающих биты длиной в t несжатых идентификаторов сегментов, где t - положительное целое число, р - значение, полученное путем округления отношения длины несжатого идентификатора сегмента к длине сжатого идентификатора сегмента. Если общая длина р сжатых идентификаторов сегментов меньше общей длины t несжатых идентификаторов сегментов, используют зарезервированные байты для заполнения оставшейся длины. Соответственно, поле типа маршрутизации используют для выполнения следующей функции: уменьшение SL на 1 после завершения обработки всех сжатых идентификаторов сегментов в пределах длины несжатого идентификатора сегмента. Следует отметить, что поле типа маршрутизации может также выполнять следующую функцию в соответствии с существующим определением: уменьшение значения SL на 1 после выполнения обработки несжатого идентификатора сегмента.[0071] According to some embodiments of the invention, the value of the routing type field is the second predefined value, for example, Routing type = 4. In this case, the segment routing header continues to use the current routing type field, however, it is required to redefine the function of the routing type field to ensure compatibility with both compressed and uncompressed segment identifiers. More specifically, the routing type field is used to indicate a second segment routing header format that contains p compressed segment identifiers occupying bits of length t of the uncompressed segment identifiers, where t is a positive integer, p is a value obtained by rounding the ratio of the length of the uncompressed segment identifier to the length of the compressed segment identifier. If the total length p of the compressed segment IDs is less than the total length t of the uncompressed segment IDs, use the reserved bytes to fill the remaining length. Accordingly, the routing type field is used to perform the following function: decrement SL by 1 upon completion of processing all compressed segment identifiers within the length of the uncompressed segment identifier. It should be noted that the routing type field may also perform the following function according to the existing definition: decrease the value of SL by 1 after processing the uncompressed segment identifier.

[0072] То есть, если Routing type = 4, то SL по-прежнему указывает количество идентификаторов сегментов в пределах длины одного несжатого идентификатора сегмента (128 битов). Если в заголовке сегментной маршрутизации пакета услуги применяют сжатые идентификаторы сегментов, требуется объединить множество сжатых идентификаторов сегментов для занятия 128 битов. Если не может быть занято целое число битов, кратное 128 битам (целое число равно t, и t больше или равно 1), зарезервированные поля заполняют для формирования целого числа битов, кратного 128 битам. Затем обрабатывают сжатые идентификаторы сегментов, и только после обработки всех сжатых идентификаторов сегментов в пределах 128 битов SL уменьшают на 1. После завершения обработки несжатого идентификатора сегмента SL уменьшают на 1 в операции End.[0072] That is, if Routing type = 4, then SL still indicates the number of segment IDs within the length of one uncompressed segment ID (128 bits). If compressed segment identifiers are used in the segment routing header of the service packet, it is required to concatenate the plurality of compressed segment identifiers to occupy 128 bits. If an integer multiple of 128 bits (the integer is t and t is greater than or equal to 1) cannot be occupied, the reserved fields are filled to form an integer multiple of 128 bits. The compressed segment IDs are then processed, and only after all compressed segment IDs within 128 bits have been processed, SL is decremented by 1. After processing of the uncompressed segment ID is completed, SL is decremented by 1 in the End operation.

[0073] При обработке сжатых идентификаторов сегментов необходимо определить, следует ли изменять значение SL после оценки того, что обработка всех сжатых идентификаторов сегментов в пределах 128 битов завершена.[0073] When processing compressed segment identifiers, it is necessary to determine whether to change the value of SL after evaluating that the processing of all compressed segment identifiers within 128 bits is completed.

[0074] В некоторых вариантах осуществления изобретения, например, сжатый идентификатор сегмента сжимают посредством способа uSID (draft-filsfils-spring-net-pgm-extension-srv6-usid-02). Соответственно, завершение обработки всех сжатых идентификаторов сегментов в пределах длины одного несжатого идентификатора сегмента означает, что биты после текущего обработанного идентификатора сегмента в списке сегментов являются нулевыми.[0074] In some embodiments of the invention, for example, the compressed segment identifier is compressed using the uSID (draft-fils-spring-net-pgm-extension-srv6-usid-02) method. Accordingly, the completion of processing all compressed segment IDs within the length of one uncompressed segment ID means that the bits after the currently processed segment ID in the segment list are zero.

[0075] В некоторых вариантах осуществления изобретения, например, сжатый идентификатор сегмента сжимают посредством способа C-SID (draft-filsfils-spring-net-pgm-extension-srv6-usid-02). Соответственно, заголовок сегмента маршрутизации пакета услуги или список сегментов также может конфигурироваться с использованием поля счетчика (Sub_SL) для записи количества необработанных сжатых идентификаторов сегментов; всякий раз, когда обработка сжатого идентификатора сегмента завершается, значение поля счетчика уменьшают на 1, при этом начальное значение поля счетчика равно р (где р - значение, полученное путем округления отношения длины несжатого идентификатора сегмента к длине сжатого идентификатора сегмента). Соответственно, завершение обработки всех сжатых идентификаторов сегментов в пределах длины одного несжатого идентификатора сегмента означает также, что значение поля счетчика равно нулю.[0075] In some embodiments of the invention, for example, the compressed segment identifier is compressed using the C-SID (draft-fils-spring-net-pgm-extension-srv6-usid-02) method. Accordingly, the service packet routing segment header or segment list may also be configured using a counter field (Sub_SL) to record the number of unprocessed compressed segment identifiers; whenever processing of the compressed segment ID is completed, the value of the counter field is decremented by 1, with the initial value of the counter field equal to p (where p is a value obtained by rounding off the ratio of the length of the uncompressed segment ID to the length of the compressed segment ID). Accordingly, the completion of processing all compressed segment identifiers within the length of one uncompressed segment identifier also means that the value of the counter field is zero.

[0076] Согласно варианту осуществления настоящего изобретения также предлагается способ обработки услуги. Способ применим к узлам тракта сегментной маршрутизации, причем каждый узел тракта сегментной маршрутизации конфигурируют с использованием сжатого идентификатора сегмента или несжатого идентификатора сегмента, критический узел в тракте сегментной маршрутизации дополнительно конфигурируют с использованием сжатого идентификатора сегмента, обладающего функцией выполнения преобразования типа идентификатора сегмента для идентификатора сегмента, указанного SL, и критический узел является узлом, конфигурируемым с использованием сжатого идентификатора сегмента, из двух смежных узлов, конфигурируемых с использованием различных типов идентификаторов сегментов. Как показано на фиг. 2, способ обработки услуги включает следующие шаги:[0076] According to an embodiment of the present invention, a service processing method is also provided. The method is applicable to segment routing path nodes, wherein each segment routing path node is configured using a compressed segment identifier or an uncompressed segment identifier, a critical node in the segment routing path is further configured using a compressed segment identifier having the function of performing segment identifier type conversion for the segment identifier, of the specified SL, and the critical node is a node configured using a compressed shard ID of two adjacent nodes configured using different types of shard IDs. As shown in FIG. 2, the service processing method includes the following steps:

[0077] S21: получение списка сегментов и поля типа маршрутизации для указания формата заголовка сегментной маршрутизации из заголовка сегментной маршрутизации принятого пакета услуги, при этом список сегментов содержит сконфигурированные сжатые идентификаторы сегментов и сконфигурированные несжатые идентификаторы сегментов.[0077] S21: Obtaining a segment list and a routing type field to indicate the segment routing header format from the segment routing header of the received service packet, wherein the segment list contains configured compressed segment identifiers and configured uncompressed segment identifiers.

[0078] Перед пересылкой пакета услуги устройство для сжатия заголовка сегментной маршрутизации генерирует список сегментов, содержащий сжатые идентификаторы сегментов и несжатые идентификаторы сегментов, и переносит список сегментов в заголовке сегментной маршрутизации пакета услуги. На этом шаге после приема пакета услуги, переданного узлом предшествующего транзита, узел в тракте сегментной маршрутизации получает список сегментов из заголовка сегментной маршрутизации пакета услуги, а также получает поле типа маршрутизации, представляющее формат заголовка сегментной маршрутизации.[0078] Before forwarding the service packet, the segment routing header compressor generates a segment list containing compressed segment IDs and uncompressed segment IDs, and carries the segment list in the segment routing header of the service packet. In this step, after receiving the service packet sent by the prior hop node, the node in the segment routing path obtains the list of segments from the segment routing header of the service packet, and also obtains a routing type field representing the format of the segment routing header.

[0079] S22: обработка текущего идентификатора сегмента в списке сегментов и изменение SL в соответствии с полем типа маршрутизации.[0079] S22: processing the current segment ID in the segment list and changing the SL according to the routing type field.

[0080] На этом шаге устройство для обработки услуги обрабатывает текущий идентификатор сегмента в списке сегментов, при этом идентификатор сегмента представляет собой сжатый идентификатор сегмента или несжатый идентификатор сегмента. Способы изменения SL, определяемые различными типами маршрутизации после завершения обработки идентификатора сегмента, различны, поэтому необходимо определить тип маршрутизации и изменить SL в соответствии с типом маршрутизации. Способы изменения SL в зависимости от различных типов маршрутизации более подробно описываются ниже со ссылкой на фиг. 3.[0080] In this step, the service processing device processes the current segment ID in the segment list, where the segment ID is a compressed segment ID or an uncompressed segment ID. The way to change the SL determined by the different routing types after the segment ID processing is completed is different, so you need to determine the routing type and change the SL according to the routing type. Methods for changing the SL depending on various types of routing are described in more detail below with reference to FIG. 3.

[0081] S23: если текущий узел является критическим узлом, выполнение преобразования типа идентификатора сегмента для идентификатора сегмента, указанного SL.[0081] S23: If the current node is a critical node, perform a type conversion of the segment ID for the segment ID specified by the SL.

[0082] Тип идентификатора сегмента включает сжатый идентификатор сегмента и несжатый идентификатор сегмента. Преобразование типа идентификатора сегмента включает преобразование сжатого идентификатора сегмента в несжатый идентификатор сегмента или преобразование несжатого идентификатора сегмента в сжатый идентификатор сегмента.[0082] The segment identifier type includes a compressed segment identifier and an uncompressed segment identifier. The segment ID type conversion includes converting a compressed segment ID to an uncompressed segment ID, or converting an uncompressed segment ID to a compressed segment ID.

[0083] Следует отметить, что если узел не является критическим, выполняется функция, определяемая идентификатором сегмента (который может быть сжатым идентификатором сегмента или несжатым идентификатором сегмента), сконфигурированным в этом узле, без выполнения преобразования типа идентификатора сегмента для идентификатора сегмента, указанного SL.[0083] It should be noted that if the node is not critical, the function specified by the segment ID (which may be a compressed segment ID or an uncompressed segment ID) configured in that node is executed without performing a segment ID type conversion for the segment ID specified by the SL.

[0084] S24: пересылка пакета услуги в узел следующего транзита, при этом пакет услуги переносит тип идентификатора сегмента, указанного SL.[0084] S24: Forwarding the service packet to the next hop node, wherein the service packet carries the segment identifier type indicated by the SL.

[0085] На этом шаге устройство для обработки услуги переносит преобразованный тип идентификатора сегмента, полученный на шаге S23, в пакете услуги и пересылает пакет услуги в узел следующего транзита.[0085] In this step, the service processing device carries the converted segment ID type obtained in step S23 in the service packet, and forwards the service packet to the next hop.

[0086] Согласно способу обработки услуги, представленному вариантами осуществления настоящего изобретения, список сегментов и поле типа маршрутизации для указания формата заголовка сегментной маршрутизации извлекают из заголовка сегментной маршрутизации принятого пакета услуги, список сегментов содержит сконфигурированные сжатые идентификаторы сегментов и сконфигурированные несжатые идентификаторы сегментов; обрабатывают текущий идентификатор сегмента в списке сегментов и изменяют SL в соответствии с полем типа маршрутизации; если текущий узел является критическим узлом, выполняют преобразование типа идентификатора сегмента для идентификатора сегмента, указанного SL; пакет услуги пересылают в узел следующего транзита, причем пакет услуги переносит тип идентификатора сегмента, указанного SL. Согласно варианту осуществления настоящего изобретения, путем выполнения в критическом узле преобразования типа идентификатора сегмента, указанного SL, и изменения SL в соответствии с полем типа маршрутизации можно добиться гибридного сетевого взаимодействия и гибридного программирования узлов, конфигурируемых с использованием сжатых идентификаторов сегментов, и узлов, конфигурируемых с использованием несжатых идентификаторов сегментов, благодаря чему маршрутизация SRv6 становится применимой к более сложной среде сетевого взаимодействия, что способствует быстрой установке средств SRv6 в существующей сети.[0086] According to the service processing method presented by embodiments of the present invention, a segment list and a routing type field for specifying a segment routing header format are extracted from a segment routing header of a received service packet, the segment list contains configured compressed segment IDs and configured uncompressed segment IDs; processing the current segment ID in the segment list and changing the SL according to the routing type field; if the current node is a critical node, performing a type conversion of the segment ID to the segment ID indicated by the SL; the service packet is forwarded to the next hop node, the service packet carrying the segment identifier type indicated by the SL. According to an embodiment of the present invention, by performing a type conversion of the segment ID specified by SL at the critical node and changing the SL according to the routing type field, hybrid networking and hybrid programming of nodes configured using compressed segment IDs and nodes configured with using uncompressed segment identifiers, making SRv6 routing applicable to more complex networking environments, facilitating rapid deployment of SRv6 facilities in an existing network.

[0087] Согласно некоторым вариантам осуществления изобретения критический узел является узлом, конфигурируемым с использованием сжатого идентификатора сегмента, и узел следующего транзита является узлом, конфигурируемым с использованием несжатого идентификатора сегмента. Соответственно, выполнение преобразования типа идентификатора сегмента для идентификатора сегмента, указанного SL (то есть S23), включает изменение типа идентификатора сегмента, указанного SL, на несжатый идентификатор сегмента. То есть в направлении пакетной передачи узел предшествующего транзита по отношению к критическому узлу является узлом, конфигурируемым с использованием сжатого идентификатора сегмента, а узел следующего транзита по отношению к критическому узлу является узлом, конфигурируемым с использованием несжатого идентификатора сегмента.[0087] According to some embodiments of the invention, a critical node is a node configured using a compressed segment identifier, and a next hop node is a node configured using an uncompressed segment identifier. Accordingly, performing a type conversion of the segment ID on the segment ID indicated by SL (ie, S23) includes changing the type of the segment ID indicated by SL to an uncompressed segment ID. That is, in the burst direction, the upstream node to the critical node is the node configured using the compressed segment ID, and the next hop node to the critical node is the node configured using the uncompressed segment ID.

[0088] Согласно некоторым вариантам осуществления изобретения критический узел является узлом, конфигурируемым с использованием сжатого идентификатора сегмента, и узел предшествующего транзита является узлом, конфигурируемым с использованием несжатого идентификатора сегмента. Соответственно, выполнение преобразования типа идентификатора сегмента для идентификатора сегмента, указанного SL (то есть шаг S23), включает изменение типа идентификатора сегмента, указанного SL, на сжатый идентификатор сегмента. То есть в направлении пакетной передачи узел предшествующего транзита по отношению к критическому узлу является узлом, конфигурируемым с использованием несжатого идентификатора сегмента, а узел следующего транзита по отношению к критическому узлу является узлом, конфигурируемым с использованием сжатого идентификатора сегмента.[0088] According to some embodiments of the invention, a critical node is a node configured using a compressed segment identifier, and a prior hop node is a node configured using an uncompressed segment identifier. Accordingly, performing a type conversion of the segment ID on the segment ID indicated by SL (ie, step S23) includes changing the type of the segment ID indicated by SL to a compressed segment ID. That is, in the burst direction, the upstream node to the critical node is the node configured using the uncompressed segment ID, and the next hop node to the critical node is the node configured using the compressed segment ID.

[0089] Согласно некоторым вариантам осуществления изобретения функция преобразования типа идентификатора сегмента для идентификатора сегмента, указанного SL, может быть реализована путем установки поля Flag. Более конкретно, заголовок сегментной маршрутизации пакета услуги также содержит поле Flag для указания типа идентификатора сегмента, указанного SL, и тип идентификатора сегмента включает сжатый идентификатор сегмента и несжатый идентификатор сегмента. Например, Flag = 0 может быть определен для указания несжатого идентификатора сегмента, a Flag = 1 - для указания сжатого идентификатора сегмента.[0089] According to some embodiments of the invention, a segment identifier type conversion function for a segment identifier indicated by SL may be implemented by setting the Flag field. More specifically, the segment routing header of the service packet also contains a Flag field to indicate the segment identifier type indicated by the SL, and the segment identifier type includes a compressed segment identifier and an uncompressed segment identifier. For example, Flag = 0 could be defined to indicate an uncompressed segment identifier, and Flag = 1 to indicate a compressed segment identifier.

[0090] Соответственно, на шаге S23 перед выполнением преобразования типа идентификатора сегмента для идентификатора сегмента, указанного SL, способ также включает получение поля Flag из заголовка сегментной маршрутизации пакета услуги.[0090] Accordingly, in step S23, before performing segment ID type conversion for the segment ID indicated by SL, the method also includes obtaining a Flag field from the segment routing header of the service packet.

[0091] Соответственно, если критический узел является узлом, конфигурируемым с использованием сжатого идентификатора сегмента, и узел следующего транзита является узлом, конфигурируемым с использованием несжатого идентификатора сегмента, изменение типа идентификаторов сегментов, указанных UL, на несжатый идентификатор сегмента включает изменение значения поля Flag на значение, указывающее на несжатый идентификатор сегмента, например, изменение значения поля Flag на 0.[0091] Accordingly, if the critical node is a node configured using a compressed segment identifier and the next hop node is a node configured using an uncompressed segment identifier, changing the type of segment identifiers indicated by UL to an uncompressed segment identifier includes changing the value of the Flag field to a value that points to the uncompressed segment ID, such as changing the value of the Flag field to 0.

[0092] Соответственно, если критический узел является узлом, конфигурируемым с использованием сжатого идентификатора сегмента, и узел предшествующего транзита является узлом, конфигурируемым с использованием несжатого идентификатора сегмента, изменение типа идентификаторов сегментов, указанных SL, на несжатый идентификатор сегмента включает изменение значения поля Flag на значение, указывающее на сжатый идентификатор сегмента, например, изменение значения поля Flag на 1.[0092] Accordingly, if the critical node is a node configurable using a compressed segment identifier and the prior hop node is a node configured using an uncompressed segment identifier, changing the type of segment identifiers indicated by SL to an uncompressed segment identifier includes changing the value of the Flag field to a value that points to the compressed segment ID, such as changing the value of the Flag field to 1.

[0093] В процессе пересылки пакета услуги по окончании обработки идентификатора сегмента требуется изменить SL. Согласно варианту осуществления настоящего изобретения формат заголовка сегментной маршрутизации определяют в поле типа маршрутизации и определяют способы изменения SL в зависимости от различных заголовков сегментной маршрутизации. Способы изменения SL в зависимости от различных форматов сегментной маршрутизации более подробно описываются ниже со ссылкой на фиг. 3.[0093] In the process of forwarding the service packet, upon completion of processing the segment identifier, it is required to change the SL. According to an embodiment of the present invention, the segment routing header format is defined in the routing type field, and ways of changing the SL depending on various segment routing headers are defined. Methods for changing the SL depending on various segment routing formats are described in more detail below with reference to FIG. 3.

[0094] Согласно некоторым вариантам осуществления изобретения, как показано на фиг. 3, изменение SL в соответствии с полем типа маршрутизации (то есть шаг S23) включает:[0094] According to some embodiments of the invention, as shown in FIG. 3, changing the SL according to the routing type field (that is, step S23) includes:

[0095] S231: определение формата заголовка сегментной маршрутизации в соответствии с полем типа маршрутизации и выполнение шага S232, если формат заголовка сегментной маршрутизация является первым форматом заголовка сегментной маршрутизации; выполнение шага S233, если формат заголовка сегментной маршрутизация является вторым форматом заголовка сегментной маршрутизации.[0095] S231: determining the segment routing header format according to the routing type field, and performing step S232 if the segment routing header format is the first segment routing header format; performing step S233 if the segment routing header format is the second segment routing header format.

[0096] Согласно некоторым вариантам осуществления настоящего изобретения формат заголовка сегментной маршрутизации может определяться в соответствии со значением поля типа маршрутизации. Если значение поля типа маршрутизации является первым заранее заданным значением, то определяют, что формат заголовка сегментной маршрутизации является первым форматом заголовка сегментной маршрутизации; если значение поля типа маршрутизации является вторым заранее заданным значением, то определяют, что формат заголовка сегментной маршрутизации является вторым форматом заголовка сегментной маршрутизации. Например, первое заранее заданное значение может быть равно 6, а второе заранее заданное значение может быть равно 4. Если значение поля типа маршрутизации является первым заранее заданным значением, это указывает на то, что заголовок сегментной маршрутизации пакета услуги также содержит поле расширения (SRH_Ext), и SL изменяют способом, определенным полем SRH_Ext. Если значение поля типа маршрутизации является вторым заранее заданным значением, это указывает на то, что SL изменяют по-прежнему способом, определяемым полем типа маршрутизации (нужно иметь в виду, что способ изменения SL, определяемый полем типа маршрутизации, согласно настоящему изобретению отличается от способа изменения SL, принятого в известном уровне техники).[0096] According to some embodiments of the present invention, the segment routing header format may be determined in accordance with the value of the routing type field. If the value of the routing type field is the first predetermined value, it is determined that the segment routing header format is the first segment routing header format; if the value of the routing type field is the second predetermined value, it is determined that the segment routing header format is the second segment routing header format. For example, the first preset value may be 6, and the second preset value may be 4. If the value of the routing type field is the first preset value, this indicates that the segment routing header of the service packet also contains an extension field (SRH_Ext) , and SL is changed in the manner specified by the SRH_Ext field. If the value of the routing type field is the second preset value, this indicates that the SL is still changed in the manner determined by the routing type field (it should be noted that the method of changing the SL determined by the routing type field according to the present invention is different from the method modification of the SL adopted in the prior art).

[0097] S232: после завершения обработки сжатого идентификатора сегмента уменьшение значения SL на n, где n - отношение длины сжатого идентификатора сегмента к длине поддерживаемого самого короткого сжатого идентификатора сегмента, при этом n является положительным целым числом; и после завершения обработки несжатого идентификатора сегмента уменьшение значения SL на m, где m - отношение длины несжатого идентификатора сегмента к длине поддерживаемого самого короткого сжатого идентификатора сегмента, при этом m является положительным целым числом.[0097] S232: after processing of the compressed segment identifier, decrease the value of SL by n, where n is the ratio of the length of the compressed segment identifier to the length of the shortest compressed segment identifier supported, with n being a positive integer; and upon completion of processing the uncompressed segment identifier, decrementing the value of SL by m, where m is the ratio of the length of the uncompressed segment identifier to the length of the shortest compressed segment identifier supported, with m being a positive integer.

[0098] На этом шаге, если Routing type = 6, обработку SL переопределяют в соответствии с самой короткой длиной сжатого идентификатора сегмента. Например, если длина поддерживаемого самого короткого сжатого идентификатора сегмента составляет 16 битов, то SL уменьшают на 1 (n=16/16=1) при выполнении операции End после завершения обработки 16-битного сжатого идентификатора сегмента; SL уменьшают на 2 (n=32/16=2) при выполнении операции End после завершения обработки 32-битного сжатого идентификатора сегмента; SL уменьшают на 4 (n=64/16=4) при выполнении операции End после завершения обработки 64-битного сжатого идентификатора сегмента; и SL уменьшают на 8 (m=128/16=8) при выполнении операции End после завершения обработки 128-битного несжатого идентификатора сегмента.[0098] In this step, if Routing type = 6, the SL processing is redefined according to the shortest length of the compressed segment identifier. For example, if the supported shortest compressed segment ID is 16 bits long, then SL is decremented by 1 (n=16/16=1) in an End operation after processing of the 16-bit compressed segment ID is completed; SL is reduced by 2 (n=32/16=2) when executing the End operation after processing of the 32-bit compressed segment identifier is completed; SL is reduced by 4 (n=64/16=4) when executing the End operation after the processing of the 64-bit compressed segment identifier is completed; and SL is decremented by 8 (m=128/16=8) when executing the End operation after processing of the 128-bit uncompressed segment ID is completed.

[0099] Следует отметить, что для обеспечения корректной проверки соответственно в поле Last Entry заголовка сегментной маршрутизации определяют, что при выполнении проверки поле SL также следует вычислять в соответствии с множеством поддерживаемых самых коротких длин сжатого сегмента (например, 16 битов).[0099] It should be noted that in order to ensure correct validation, respectively, in the Last Entry field of the segment routing header, it is determined that when performing the check, the SL field should also be calculated according to the set of supported shortest compressed segment lengths (for example, 16 bits).

[00100] На шаге S233 уменьшают SL на 1 после завершения обработки всех сжатых идентификаторов сегментов в пределах длины одного несжатого идентификатора сегмента.[00100] In step S233, decrement SL by 1 after processing of all compressed segment IDs within the length of one uncompressed segment ID is completed.

[00101] Во втором формате заголовка сегментной маршрутизации р сжатых идентификаторов сегментов занимают биты длиной в t несжатых идентификаторов сегментов, где t - положительное целое число, р - значение, полученное путем округления отношения длины несжатого идентификатора сегмента к длине сжатого идентификатора сегмента. Если общая длина р сжатых идентификаторов сегментов меньше общей длины t несжатых идентификаторов сегментов, используют зарезервированные байты для заполнения оставшейся длины. То есть, если Routing type = 4, то SL по-прежнему указывает количество идентификаторов сегментов в пределах длины одного несжатого идентификатора сегмента (128 битов). Если в заголовке сегментной маршрутизации пакета услуги применяют сжатые идентификаторы сегментов, необходимо совместно объединить множество идентификаторов сегментов для занятия 128 битов. Если не может быть занято целое число битов, кратное 128 битам (где целое число равно t, и t больше или равно 1), зарезервированные поля заполняют для формирования целого числа битов, кратного 128 битам. Соответственно, после завершения обработки сжатых идентификаторов сегментов, SL уменьшают на 1, если завершена обработка всех сжатых идентификаторов сегментов в пределах 128 битов.[00101] In the second segment routing header format, p compressed segment identifiers occupy bits of length t of uncompressed segment identifiers, where t is a positive integer, p is a value obtained by rounding the ratio of the length of the uncompressed segment identifier to the length of the compressed segment identifier. If the total length p of the compressed segment IDs is less than the total length t of the uncompressed segment IDs, use the reserved bytes to fill the remaining length. That is, if Routing type = 4, then SL still specifies the number of segment IDs within the length of one uncompressed segment ID (128 bits). If compressed segment identifiers are used in the segment routing header of the service packet, it is necessary to concatenate a plurality of segment identifiers to occupy 128 bits. If an integer multiple of 128 bits (where the integer is t and t is greater than or equal to 1) cannot be occupied, the reserved fields are filled to form an integer multiple of 128 bits. Accordingly, after processing of compressed segment IDs is completed, SL is reduced by 1 if processing of all compressed segment IDs within 128 bits is completed.

[00102] Следует принимать во внимание, что на этом шаге значение SL уменьшают на 1 после завершения обработки несжатого идентификатора сегмента.[00102] It should be appreciated that in this step, the SL value is decremented by 1 after the processing of the uncompressed segment identifier is completed.

[00103] Согласно варианту осуществления настоящего изобретения при обработке сжатых идентификаторов сегментов необходимо определить, следует ли изменить значение SL после оценки того, что обработка всех сжатых идентификаторов сегментов в пределах 128 битов завершена.[00103] According to an embodiment of the present invention, when processing compressed segment identifiers, it is necessary to determine whether the value of SL should be changed after evaluating that the processing of all compressed segment identifiers within 128 bits has been completed.

[00104] В соответствии с некоторыми вариантами осуществления изобретения, например, для сжатых идентификаторов сегментов, сжатых посредством способа uSID, определение того, что все сжатые идентификаторы сегментов в пределах 128 битов обработаны, может выполняться путем оценки оставшихся битов. Соответственно, завершение обработки всех сжатых идентификаторов сегментов в пределах длины одного несжатого идентификатора сегмента означает, что биты после текущего обработанного идентификатора сегмента в списке сегментов являются нулевыми.[00104] In accordance with some embodiments of the invention, for example, for compressed segment identifiers compressed by the uSID method, determining that all compressed segment identifiers within 128 bits have been processed may be performed by evaluating the remaining bits. Accordingly, the completion of processing all compressed segment IDs within the length of one uncompressed segment ID means that the bits after the currently processed segment ID in the segment list are zero.

[00105] В соответствии с некоторыми вариантами осуществления изобретения, например, для сжатых идентификаторов сегментов, сжатых посредством способа C-SID, определение того, что все сжатые идентификаторы сегментов в пределах 128 битов обработаны, может выполняться путем использования счетчика. Более конкретно, в заголовке сегмента маршрутизации пакета услуги или в списке сегментов предоставляют поле счетчика (Sub_SL) для записи количества необработанных сжатых идентификаторов сегментов; всякий раз, когда обработка сжатого идентификатора сегмента завершается, значение поля Sub_SL уменьшают на 1, при этом начальное значение Sub_SL равно р. Соответственно, завершение обработки всех сжатых идентификаторов сегментов в пределах длины одного несжатого идентификатора сегмента также означает, что значение поля счетчика равно нулю.[00105] In accordance with some embodiments of the invention, for example, for compressed segment identifiers compressed by the C-SID method, determining that all compressed segment identifiers within 128 bits have been processed may be performed by using a counter. More specifically, in a service packet routing segment header or segment list, a counter field (Sub_SL) is provided to record the number of unprocessed compressed segment identifiers; whenever the processing of the compressed segment identifier is completed, the value of the Sub_SL field is decremented by 1, with the initial value of Sub_SL equal to p. Accordingly, the completion of processing all compressed segment identifiers within the length of one uncompressed segment identifier also means that the value of the counter field is zero.

[00106] Следует отметить, что значение Sub_SL и значение SL не обязательно равны нулю одновременно. При обработке сжатого идентификатора сегмента возможна ситуация, когда значение SL уже равно нулю, но значение Sub_SL еще не равно нулю. В этом случае это означает, что в процессе обработки достигнуты последние 128 битов в списке сегментов, однако все еще существуют необработанные сжатые идентификаторы сегментов, которые не следует обрабатывать как последний транзит.[00106] It should be noted that the Sub_SL value and the SL value are not necessarily zero at the same time. When processing a compressed segment identifier, it is possible that the value of SL is already zero, but the value of Sub_SL is not yet zero. In this case, this means that the last 128 bits in the segment list have been reached during processing, but there are still unprocessed compressed segment identifiers that should not be processed as a last hop.

[00107] Ниже для пояснения решений, соответствующих вариантам осуществления настоящего изобретения, приводится более подробное описание этих вариантов с помощью трех конкретных примеров.[00107] Below, to explain the solutions corresponding to the embodiments of the present invention, a more detailed description of these options is given using three specific examples.

[00108] Вариант 1 осуществления изобретения[00108] Embodiment 1

[00109] Сетевая топология, соответствующая варианту 1 осуществления изобретения, показана на фиг. 4. В настоящее время существует услуга VPN4. Требуется создать тракт A-B-D-F-M-Z SRv6, в котором задействовано гибридное программирование узлов со сжатыми SID и несжатыми SID. Узлы A-G конфигурируют с использованием 32-битных сжатых идентификаторов сегментов, которые сжаты с использованием схемы сжатия uSid, общий префикс (uSID Block) сжатых SID составляет 32 бита, и длина каждого сжатого идентификатора сегмента равна 32 битам. Таким образом, после удаления uSID Block из 128 битов могут быть представлены сжатые SID трех узлов SRv6. Узлы М, N и Z конфигурируют с использованием 128-битных несжатых SID.[00109] A network topology according to Embodiment 1 of the invention is shown in FIG. 4. There is currently a VPN4 service. You want to create an A-B-D-F-M-Z SRv6 path that uses hybrid programming of nodes with compressed SIDs and uncompressed SIDs. Nodes A-G are configured using 32-bit compressed segment IDs that are compressed using the uSid compression scheme, the common prefix (uSID Block) of the compressed SIDs is 32 bits, and the length of each compressed segment ID is 32 bits. Thus, after removing the uSID Block of 128 bits, the compressed SIDs of three SRv6 nodes can be represented. Nodes M, N, and Z are configured using 128-bit uncompressed SIDs.

[00110] В процессе сжатия SRH выполняют следующие определения:[00110] In the SRH compression process, the following determinations are made:

[00111] (1) Задают поле Flag = 1 в SRH для указания на то, что в настоящий момент идентификатор SID является сжатым SID, и задают поле Flag = 0 в SRH для указания на то, что в настоящий момент идентификатор SID является несжатым SID.[00111] (1) Set the Flag = 1 field in the SRH to indicate that the SID is currently a compressed SID, and set the Flag = 0 field in the SRH to indicate that the SID is currently an uncompressed SID .

[00112] (2) Задают первую функцию End.uzip преобразования (кодированную как 0x77) критического узла между сжатым SID и несжатым SID для выполнения преобразования типа идентификатора сегмента, указанного SL, из сжатого SID в несжатый SID. Код выглядит следующим образом:[00112] (2) The first conversion function End.uzip (encoded as 0x77) of the critical node between the compressed SID and the uncompressed SID is defined to perform the conversion of the segment identifier type indicated by the SL from the compressed SID to the uncompressed SID. The code looks like this:

[00113] If (SRH.Flag == 1)[00113] If(SRH.Flag == 1)

[00114] Установить SRH.Flag = 0[00114] Set SRH.Flag = 0

[00115] Уменьшить SL на 1[00115] Decrease SL by 1

[00116] Обновить IPv6 DA с использованием Segment_List[SL][00116] Update IPv6 DA using Segment_List[SL]

[00117] Переслать пакет по новому DA;[00117] Forward packet over new DA;

[00118] (3) Задают вторую функцию End.uzip преобразования (кодированную как 0x78) критического узла между несжатым SID и сжатым SID для выполнения преобразования типа идентификатора сегмента, указанного SL, из несжатого SID в сжатый SID. Код выглядит следующим образом:[00118] (3) A second conversion function End.uzip (encoded as 0x78) of the critical node between the uncompressed SID and the compressed SID is defined to perform the conversion of the segment identifier type indicated by the SL from the uncompressed SID to the compressed SID. The code looks like this:

[00119] If (SRH.Flag == 0)[00119] If(SRH.Flag == 0)

[00120] Установить SRH.Flag = 1[00120] Set SRH.Flag = 1

[00121] Уменьшить SL на 1[00121] Decrease SL by 1

[00122] Обновить IPv6 DA с использованием Segment_List[SL][00122] Update IPv6 DA using Segment_List[SL]

[00123] Переслать пакет по новому IPv6 DA;[00123] Forward packet over new IPv6 DA;

[00124] На фиг. 5 показана структурная схема SRH в направлении A->Z передачи пакета услуги. В узле А используется SRH, показанный на фиг. 5, для представления тракта A-B-D-F-M-Z передачи услуги VPN4, при этом в узле F применяется F:77 для указания на то, что должна выполняться операция End.uzip для преобразования сжатого SID в несжатый SID.[00124] FIG. 5 shows a block diagram of the SRH in the transmission direction A->Z of a service packet. Node A uses the SRH shown in FIG. 5 to represent the VPN4 service transmission path A-B-D-F-M-Z, where F:77 is used at the node F to indicate that an End.uzip operation is to be performed to convert the compressed SID to the uncompressed SID.

[00125] На фиг. 6 показана структурная схема SRH в направлении Z->A передачи пакета услуги. В узле Z используется SRH, показанный на фиг. 6, для представления тракта Z-M-F-D-B-A передачи услуги VPN4, при этом узел F конфигурируется с использованием 128-битного несжатого SID, и в этом узле применяется F:78 для указания на то, что должна выполняться операция End.uzip для преобразования несжатого SID в сжатый SID.[00125] FIG. 6 is a block diagram of the SRH in the transmission direction Z->A of the service packet. Node Z uses the SRH shown in FIG. 6 to represent the Z-M-F-D-B-A transmission path of the VPN4 service, where node F is configured using a 128-bit uncompressed SID, and F:78 is used at this node to indicate that an End.uzip operation should be performed to convert the uncompressed SID to a compressed SID .

[00126] В этом конкретном варианте 1 осуществления изобретения Routing type = 4 указывает на то, что формат SRH является вторым форматом заголовка сегментной маршрутизации, то есть поле типа маршрутизации в SRH совместимо с существующим SRH. В процессе выполнения операции End сжатого SID значение SL уменьшают на 1, если завершена обработка всех сжатых SID в 128 битах (то есть SID, сжатых с помощью способа uSID). Код выглядит следующим образом:[00126] In this particular embodiment 1, Routing type = 4 indicates that the SRH format is the second segment routing header format, i.e. the routing type field in the SRH is compatible with the existing SRH. During the End operation of the compressed SID, the value of SL is reduced by 1 if processing of all 128-bit compressed SIDs (that is, SIDs compressed with the uSID method) is completed. The code looks like this:

[00127] IF (SRH.Flag == 1)[00127] IF (SRH.Flag == 1)

[00128] IF DA[64..95] !=0 //Еще остались необработанные uSID[00128] IF DA[64..95] !=0 //Still unprocessed uSIDs

[00129] Копировать DA[64..127] в DAL32..95][00129] Copy DA[64..127] to DAL32..95]

[00130] Установить DA[96..127] на 0x0000[00130] Set DA[96..127] to 0x0000

[00131] Переслать пакет по новому IPv6 DA;[00131] Forward packet over new IPv6 DA;

[00132] ELSE IF (DA[64..95]=0) and SL>0 //завершена обработка всех uSID в текущих 128 битах, и для обработки берут сжатые SID в следующих 128 битах[00132] ELSE IF (DA[64..95]=0) and SL>0 //processing of all uSIDs in the current 128 bits is complete, and the compressed SIDs in the next 128 bits are taken for processing

[00133] Уменьшить SL на 1[00133] Decrease SL by 1

[00134] Обновить IPv6 DAc использованием Segment_List[SL][00134] Update IPv6 DAc using Segment_List[SL]

[00135] Переслать пакет по новому IPv6 DA;[00135] Forward packet over new IPv6 DA;

[00136] ELSE[00136] ELSE

[00137] Сообщение об ошибке //если следующие 128 битов отсутствуют, должна выполняться обработка услуги, отличная от операции End, с выдачей сообщения об ошибке.[00137] Error message //if the next 128 bits are missing, service processing other than the End operation should be performed with an error message.

[00138] Алгоритм обработки услуги в направлении A->Z передачи пакета услуги показан на фиг. 7. Тракт сегментной маршрутизации представляет собой A-B-D-F-M-Z, и функция End.DX4 выполняется в соответствии с DA=20:02:Z:11::. Алгоритм обработки услуги в направлении Z->A передачи пакета услуги показан на фиг. 8. Тракт сегментной маршрутизации представляет собой Z-M-F-D-B-A, и функция End.DX4 выполняется в соответствии с DA=20:02:А:11::.[00138] The service processing flow in the A->Z transmission direction of the service packet is shown in FIG. 7. The segment routing path is A-B-D-F-M-Z and the End.DX4 function is executed according to DA=20:02:Z:11::. The service processing flow in the Z->A direction of transmitting a service packet is shown in FIG. 8. The segment routing path is Z-M-F-D-B-A and the End.DX4 function is executed according to DA=20:02:A:11::.

[00139] Вариант 2 осуществления изобретения[00139] Embodiment 2

[00140] Сетевая топология, соответствующая варианту 2 осуществления изобретения, показана на фиг. 9. В настоящее время существует услуга L2VPN. Требуется создать тракт A-B-D-F-M-Z SRv6, в котором задействовано гибридное программирование узлов со сжатыми SID и несжатыми SID. В узлах A-G применяются 32-битные сжатые SID, а узлы М, N, Z конфигурируются с использованием 128-битных несжатых SID. Согласно этому варианту осуществления изобретения SRH является вторым форматом заголовка сегментной маршрутизации, то есть используется новое определенное поле SRH_Ext, то есть Routing Туре = 6, и SRH_Ext не задействует обработку, связанную с совместимостью с заголовком SRH известного уровня техники.[00140] A network topology according to Embodiment 2 of the invention is shown in FIG. 9. There is currently an L2VPN service. You want to create an A-B-D-F-M-Z SRv6 path that uses hybrid programming of nodes with compressed SIDs and uncompressed SIDs. Nodes A-G use 32-bit compressed SIDs, and nodes M, N, Z are configured with 128-bit uncompressed SIDs. According to this embodiment, SRH is the second segment routing header format, i.e. a new defined SRH_Ext field is used, i.e. Routing Type = 6, and SRH_Ext does not involve prior art SRH header compatibility processing.

[00141] В процессе сжатия SRH выполняют следующие определения:[00141] In the SRH compression process, the following determinations are made:

[00142] (1) Задают поле Flag = 1 в SRH_Ext для указания на то, что в настоящий момент SID является сжатым SID, и задают поле Flag = 0 для указания на то, что в настоящий момент SID является несжатым SID.[00142] (1) Set the Flag = 1 field in SRH_Ext to indicate that the SID is currently a compressed SID, and set the Flag = 0 field to indicate that the SID is currently an uncompressed SID.

[00143] (2) Задают первую функцию End.uzip преобразования (кодированную как 0x77) критического узла между сжатым SID и несжатым SID для выполнения преобразования типа идентификатора сегмента, указанного SL, из сжатого SID в несжатый SID. Код выглядит следующим образом:[00143] (2) The first conversion function End.uzip (encoded as 0x77) of the critical node between the compressed SID and the uncompressed SID is defined to perform the conversion of the segment identifier type indicated by the SL from the compressed SID to the uncompressed SID. The code looks like this:

[00144] IF (SRH.Flag == 1)[00144] IF (SRH.Flag == 1)

[00145] Установить SRH.Flag = 0[00145] Set SRH.Flag = 0

[00146] IF(SL>=10)[00146] IF(SL>=10)

[00147] Уменьшить SL на 2 //В предположении, что поддерживается самый короткий 16-битный сжатый SID, поскольку в данном случае сжатый SID занимает 32 бита, SL следует уменьшить на 2[00147] Decrease SL by 2 //Assuming that the shortest 16-bit compressed SID is supported, since in this case the compressed SID is 32 bits, SL should be reduced by 2

[00148] Обновить IPv6 DA с использованием Segment_List[SL] //взять следующий несжатый SID[00148] Update IPv6 DA using Segment_List[SL] //get next uncompressed SID

[00149] Переслать пакет по IPv6 DA;[00149] Forward packet over IPv6 DA;

[00150] ELSE[00150]ELSE

[00151] Сообщение об ошибке //узел следующего транзита не является несжатым SID, и выдают сообщение об ошибке;[00151] Error message //next hop is not an uncompressed SID, and an error message is output;

[00152] (3) Задают вторую функцию End.uzip преобразования (кодированную как 0x78) критического узла между несжатым SID и сжатым SID для выполнения преобразования типа идентификатора сегмента, указанного SL, из несжатого SID в сжатый SID. Код выглядит следующим образом:[00152] (3) A second conversion function End.uzip (encoded as 0x78) of the critical node between the uncompressed SID and the compressed SID is defined to perform a conversion of the segment identifier type indicated by the SL from the uncompressed SID to the compressed SID. The code looks like this:

[00153] If (SRH.Flag == 0)[00153] If(SRH.Flag == 0)

[00154] Установить SRH.Flag = 1[00154] Set SRH.Flag = 1

[00155] IF SL>10[00155] IF SL>10

[00156] Уменьшить SL на 8[00156] Decrease SL by 8

[00157] Обновить IPv6 DA с использованием Segment_List[SL] //взять следующий сжатый SID[00157] Update IPv6 DA using Segment_List[SL] //get next compressed SID

[00158] Переслать пакет по новому IPv6 DA;[00158] Forward packet over new IPv6 DA;

[00159] На фиг. 10 показана структурная схема SRH_Ext в направлении A->Z передачи пакета услуги. В узле А используется поле SRH_Ext, показанное на фиг. 10, для представления тракта A-B-D-F-M-Z передачи услуги L2VPN, при этом в узле применяется F:77 для указания на то, что должна выполняться операция End.uzip для преобразования сжатого SID в несжатый SID.[00159] FIG. 10 shows a block diagram of SRH_Ext in the transmission direction A->Z of a service packet. Node A uses the SRH_Ext field shown in FIG. 10 to represent the A-B-D-F-M-Z transmission path of the L2VPN service, where the node uses F:77 to indicate that an End.uzip operation is to be performed to convert the compressed SID to the uncompressed SID.

[00160] На фиг. 11 показана структурная схема SRH_Ext в направлении Z->A передачи пакета услуги. В узле Z используется поле SRH_Ext, показанное на фиг. 11, для представления тракта Z-M-F-D-B-A передачи услуги L2VPN, при этом в узле F применяется F:78 для указания на то, что должна выполняться операция End.uzip для преобразования несжатого SID в сжатый SID.[00160] FIG. 11 shows a block diagram of SRH_Ext in the transmission direction Z->A of a service packet. Node Z uses the SRH_Ext field shown in FIG. 11 to represent the Z-M-F-D-B-A transmission path of the L2VPN service, where F:78 is used at the node F to indicate that an End.uzip operation is to be performed to convert the uncompressed SID to a compressed SID.

[00161] Поскольку в этом конкретном варианте 2 осуществления изобретения применяется новое значение Routing type (6), не обязательно следует принимать во внимание совместимость с существующим способом обработки SRH. В предположении, что SRH_Ext поддерживает сжатый SID с минимальной длиной 16 битов, поскольку в данном случае сжатый SID занимает 32 бита, SL уменьшают на 2 при выполнении операции End для сжатого SID, и SL уменьшают на 8 при выполнении операции End для несжатого SID.[00161] Since this particular Embodiment 2 uses a new Routing type (6), compatibility with the existing SRH processing method need not be taken into account. Assuming that SRH_Ext supports a compressed SID with a minimum length of 16 bits, since in this case the compressed SID occupies 32 bits, SL is decreased by 2 when an End operation is performed on a compressed SID, and SL is decreased by 8 when an End operation is performed on an uncompressed SID.

[00162] На фиг. 12 показан алгоритм обработки услуги в направлении A->Z передачи пакета услуги. Тракт сегментной маршрутизации представляет собой A-B-D-F-M-Z, и функция End.DX2 выполняется в соответствии с DA=20:02:Z:15::. Алгоритм обработки услуги в направлении Z->A передачи пакета услуги показан на фиг. 13. Тракт сегментной маршрутизации представляет собой Z-M-F-D-B-A, и функция End.DX2 выполняется в соответствии с DA=20:02:А:15::.[00162] FIG. 12 shows the service processing flow in the direction A->Z of the transmission of the service packet. The segment routing path is A-B-D-F-M-Z and the End.DX2 function is executed according to DA=20:02:Z:15::. The service processing flow in the Z->A direction of transmitting a service packet is shown in FIG. 13. The segment routing path is Z-M-F-D-B-A, and the End.DX2 function is executed according to DA=20:02:A:15::.

[00163] Вариант 3 осуществления изобретения[00163] Embodiment 3

[00164] Сетевая топология, соответствующая варианту 3 осуществления изобретения, показана на фиг. 9. В настоящее время существует услуга L2VPN. Требуется создать тракт A-B-D-F-M-Z SRv6, в котором задействовано гибридное программирование узлов со сжатыми SID и несжатыми SID. В узлах A-G применяются 32-битные сжатые SID, а узлы М, N, Z конфигурируются с использованием 128-битных несжатых SID. Разница между вариантом 3 осуществления изобретения и вариантом 2 осуществления изобретения заключается в том, что SRH в данном варианте является вторым форматом заголовка сегментной маршрутизации, то есть дополнительное поле расширения не добавляется, и соблюдается совместимость с обычной обработкой SRH, а именно: Routing Туре = 4.[00164] The network topology according to Embodiment 3 of the invention is shown in FIG. 9. There is currently an L2VPN service. You want to create an A-B-D-F-M-Z SRv6 path that uses hybrid programming of nodes with compressed SIDs and uncompressed SIDs. Nodes A-G use 32-bit compressed SIDs, and nodes M, N, Z are configured with 128-bit uncompressed SIDs. The difference between Embodiment 3 and Embodiment 2 is that the SRH in this Embodiment is the second format of the Segment Routing Header, i.e., no extra extension field is added, and is compatible with normal SRH processing, namely: RoutingType = 4 .

[00165] В процессе сжатия SRH выполняют следующие определения:[00165] In the SRH compression process, the following determinations are made:

[00166] (1) Задают поле Flag = 1 в SRH для указания на то, что в настоящий момент SID являются сжатым SID, и задают поле Flag = 0 для указания на то, что в настоящий момент SID является несжатым SID. В этом случае поле Flag, видимое в узле с несжатым SID (например, в узле М), является нулевым, как и в обычном SRH.[00166] (1) The Flag field is set to 1 in the SRH to indicate that the SIDs are currently a compressed SID, and the Flag field is set to 0 to indicate that the SID is currently an uncompressed SID. In this case, the Flag field visible in a node with an uncompressed SID (eg node M) is null, as in a normal SRH.

[00167] (2) Задают первую функцию End.uzip преобразования (кодированную как 0x77) критического узла между сжатым SID и несжатым SID для выполнения преобразования типа идентификатора сегмента, указанного SL, из сжатого SID в несжатый SID. Код выглядит следующим образом:[00167] (2) The first conversion function End.uzip (encoded as 0x77) of the critical node between the compressed SID and the uncompressed SID is defined to perform the conversion of the segment identifier type indicated by the SL from the compressed SID to the uncompressed SID. The code looks like this:

[00168] IF (SRH.Flag == 1)[00168] IF (SRH.Flag == 1)

[00169] Установить SRH.Flag = 0[00169] Set SRH.Flag = 0

[00170] IF(SL>0)[00170] IF(SL>0)

[00171] Уменьшить SL на 1[00171] Decrease SL by 1

[00172] Обновить IPv6 DA с использованием Segment_List[SL][00172] Update IPv6 DA using Segment_List[SL]

[00173] Переслать пакет по новому DA[00173] Forward packet over new DA

[00174] ELSE[00174]ELSE

[00175] Сообщение об ошибке //последний SID, операция преобразования не может быть выполнена, и выдают сообщение об ошибке;[00175] Error message //last SID, conversion operation cannot be performed, and issue an error message;

[00176] (3) Задают вторую функцию End.uzip преобразования (кодированную как 0x78) критического узла между несжатым SID и сжатым SID для выполнения преобразования типа идентификатора сегмента, указанного SL, из несжатого SID в сжатый SID. Код выглядит следующим образом:[00176] (3) A second conversion function End.uzip (encoded as 0x78) of the critical node between the uncompressed SID and the compressed SID is defined to perform the conversion of the segment identifier type indicated by the SL from the uncompressed SID to the compressed SID. The code looks like this:

[00177] IF (SRH.Flag == 0)[00177] IF(SRH.Flag == 0)

[00178] Установить SRH.Flag = 1[00178] Set SRH.Flag = 1

[00179] IF(SL>0)[00179] IF(SL>0)

[00180] Уменьшить SL на 1[00180] Decrease SL by 1

[00181] Установить Sub_SLc использованием Segment_List[SL] //путем оценки длины зарезервированного байта в конце 128 битов идентификация количества содержащихся там сжатых SID[00181] Set Sub_SLc using Segment_List[SL] //by evaluating the length of the reserved byte at the end of 128 bits identifying the number of compressed SIDs contained there

[00182] Обновить IPv6 DAc использованием Segment_ListfSL][00182] Update IPv6 DAc using Segment_ListfSL]

[00183] Переслать пакет по новому IPv6 DA;[00183] Forward packet over new IPv6 DA;

[00184] ELSE[00184]ELSE

[00185] Сообщение об ошибке //последний SID, операция преобразования не может быть выполнена, и выдают сообщение об ошибке.[00185] Error message //last SID, conversion operation could not be performed, and an error message is generated.

[00186] На фиг. 14 показана структурная схема SRH в направлении A->Z передачи пакета услуги. В узле А используется SRH, показанный на фиг. 14, для представления тракта A-B-D-F-M-Z пересылки услуги L2VPN, при этом в узле F применяется F:77 для указания на то, что должна выполняться операция End.uzip для преобразования сжатого SID в несжатый SID.[00186] FIG. 14 is a block diagram of the SRH in the transmission direction A->Z of a service packet. Node A uses the SRH shown in FIG. 14 to represent the A-B-D-F-M-Z forwarding path of the L2VPN service, where F:77 is used at the node F to indicate that an End.uzip operation is to be performed to convert the compressed SID to the uncompressed SID.

[00187] На фиг. 15 показана структурная схема SRH в направлении Z->A передачи пакета услуги. В узле Z используется SRH, показанный на фиг. 15, для представления тракта Z-M-F-D-B-A передачи услуги L2VPN, при этом узел F кодирован в 128 битах, и в нем применяется F:78 для указания на то, что должна выполняться операция End.uzip для преобразования несжатого SID в сжатый SID.[00187] FIG. 15 is a block diagram of the SRH in the transmission direction Z->A of the service packet. Node Z uses the SRH shown in FIG. 15 to represent the Z-M-F-D-B-A transmission path of the L2VPN service, where node F is encoded in 128 bits and uses F:78 to indicate that an End.uzip operation is to be performed to convert an uncompressed SID to a compressed SID.

[00188] Поскольку в этом варианте 3 осуществления изобретения применяется схема, совместимая с обычным SRH, то есть Routing type = 4, способ обработки с поддержкой совместимости включает выполнение следующих операций: SL по-прежнему указывает количество SID в 128 битах; если используется сжатый SID в SRH, множество сжатых SID объединяют для занятия целого числа битов, кратного 128 битам; если целое кратное число битов не достигается после объединения множества сжатых SID, зарезервированные байты заполняют для формирования целого числа битов, кратного 128 битам. Например, как показано на фиг. 14, в направлении А->Z передачи пакета услуги существуют только три сжатых SID в списке сегментов. В этом случае все нулевые коды должны быть добавлены для заполнения 128 битов.[00188] Since this Embodiment 3 adopts a conventional SRH compatible scheme, that is, Routing type = 4, the compatibility-keeping processing method includes performing the following operations: SL still indicates the number of SIDs in 128 bits; if a compressed SID in SRH is used, the plurality of compressed SIDs are combined to occupy an integer multiple of 128 bits; if an integer multiple of bits is not reached after concatenating the plurality of compressed SIDs, the reserved bytes are filled to form an integer multiple of 128 bits. For example, as shown in FIG. 14, in the transmission direction A->Z of the service packet, there are only three compressed SIDs in the segment list. In this case, all zero codes must be added to fill 128 bits.

[00189] Если обрабатывают несжатый SID, то SL уменьшают на 1 в процессе выполнения операции End. Если обрабатывают сжатый SID, то SL уменьшают на 1 только после завершения обработки всех сжатых SID в 128 битах, при этом путем установки Sub_SL записывают количество необработанных сжатых идентификаторов сегментов в пределах 128 битов. Код выглядит следующим образом:[00189] If an uncompressed SID is processed, then SL is reduced by 1 during the End operation. If a compressed SID is processed, then SL is reduced by 1 only after processing of all compressed SIDs in 128 bits is completed, while setting Sub_SL records the number of unprocessed compressed segment IDs within 128 bits. The code looks like this:

[00190] IF (SRH.Flag == 1)[00190] IF(SRH.Flag == 1)

[00191] IF Sub_SL>0 //еще остались сжатые необработанные SID в текущих 128 битах[00191] IF Sub_SL>0 //there are still compressed raw SIDs in the current 128 bits

[00192] Обновить IPv6 DAc использованием Segment_List[SL][00192] Update IPv6 DAc using Segment_List[SL]

[00193] Уменьшить Sub_SL на 1[00193] Decrease Sub_SL by 1

[00194] Переслать пакет по новому IPv6 DA;[00194] Forward packet over new IPv6 DA;

[00195] ELSE IF (DA[64..95] == 0) and SL>0 //завершена обработка всех сжатых SID в текущих 128 битах, и для обработки берут сжатые SID в следующих 128 битах[00195] ELSE IF (DA[64..95] == 0) and SL>0 //processing of all compressed SIDs in the current 128 bits is completed, and the compressed SIDs in the next 128 bits are taken for processing

[00196] Уменьшить SL на 1[00196] Decrease SL by 1

[00197] Установить Sub_SL посредством Segment_List[SL][00197] Set Sub_SL via Segment_List[SL]

[00198] Обновить IPv6 DAc использованием Segment_List[SL][00198] Update IPv6 DAc using Segment_List[SL]

[00199] Переслать пакет по новому IPv6 DA;[00199] Forward packet over new IPv6 DA;

[00200] ELSE[00200]ELSE

[00201] Сообщение об ошибке //если следующие 128 битов отсутствуют, должна выполняться обработка услуги, отличная от операции End, с выдачей сообщения об ошибке.[00201] Error message //if the next 128 bits are missing, service processing other than the End operation should be performed with an error message.

[00202] Следует отметить, что при обработке сжатого SID возможна ситуация, когда значение SL уже равно нулю, но значение Sub_SL не равно нулю. В этом случае это указывает на то, что в процессе обработки достигнуты последние 128 битов в списке сегментов, однако все еще существуют необработанные сжатые идентификаторы сегментов, которые в этом случае не следует обрабатывать как последний транзит.[00202] It should be noted that when processing a compressed SID, it is possible that the value of SL is already zero, but the value of Sub_SL is not zero. In this case, this indicates that the last 128 bits in the segment list have been reached during processing, but there are still unprocessed compressed segment identifiers, which in this case should not be processed as a last hop.

[00203] На фиг. 16 показан алгоритм обработки услуги в направлении A->Z передачи пакета услуги. Тракт сегментной маршрутизации представляет собой A-B-D-F-M-Z, и функция End.DX2 выполняется в соответствии с DA=20:02:Z:15::. Алгоритм обработки услуги в направлении Z->A передачи пакета услуги показан на фиг. 17. Тракт сегментной маршрутизации представляет собой Z-M-F-D-B-A, и функцию End.DX2 выполняют в соответствии с DA=20:02:А:15::.[00203] FIG. 16 shows a service processing flow in the A->Z transmission direction of a service packet. The segment routing path is A-B-D-F-M-Z and the End.DX2 function is executed according to DA=20:02:Z:15::. The service processing flow in the Z->A direction of transmitting a service packet is shown in FIG. 17. The segment routing path is Z-M-F-D-B-A, and the End.DX2 function is executed according to DA=20:02:A:15::.

[00204] Согласно вариантам осуществления настоящего изобретения предлагается способ сжатия SRH, который одновременно поддерживает как формат сжатых SID, так и формат несжатых SID в заголовке SRH SRv6, благодаря чему тракт пересылки SRv6 может содержать узлы, представленные сжатыми SID, или узлы, представленные несжатыми SID, в связи с чем расширяются сценарии применения SRv6. Определяется новое поле флага, указывающее на то, является ли SID, указанный SL в SRH, сжатым SID или несжатым SID, и определяется новая функция для выполнения преобразования сжатого SID в несжатый SID и несжатого SID в сжатый SID в тракте пересылки SRv6.[00204] According to embodiments of the present invention, an SRH compression method is provided that simultaneously supports both the compressed SID format and the uncompressed SID format in an SRv6 SRH header, whereby an SRv6 forwarding path can contain nodes represented by compressed SIDs or nodes represented by uncompressed SIDs. , in connection with which scenarios for the use of SRv6 are expanding. A new flag field is defined to indicate whether the SID indicated by the SL in the SRH is a compressed SID or an uncompressed SID, and a new function is defined to perform the conversion of a compressed SID to an uncompressed SID and an uncompressed SID to a compressed SID in the SRv6 forwarding path.

[00205] На основе той же технической концепции в рамках варианта осуществления настоящего изобретения также предлагается устройство для сжатия заголовка сегментной маршрутизации. Как показано на фиг. 18, устройство для сжатия заголовка сегментной маршрутизации содержит модуль 101 конфигурирования, первый модуль 102 генерации и второй модуль 103 генерации. Модуль 101 конфигурирования выполнен с возможностью конфигурирования сжатого идентификатора сегмента или несжатого идентификатора сегмента для каждого узла в тракте сегментной маршрутизации и конфигурирования, для критического узла в тракте сегментной маршрутизации, сжатого идентификатора сегмента, дополнительно обладающего функцией выполнения преобразования типа идентификатора сегмента для идентификатора сегмента, указанного полем Segments Left (SL), при этом критический узел является узлом, конфигурируемым с использованием сжатого идентификатора сегмента, из двух смежных узлов, конфигурируемых с использованием различных типов идентификаторов сегментов.[00205] Based on the same technical concept, an apparatus for compressing a segment routing header is also proposed within an embodiment of the present invention. As shown in FIG. 18, the segment routing header compression apparatus includes a configuration module 101, a first generation module 102, and a second generation module 103. The configuration module 101 is configured to configure a compressed segment ID or an uncompressed segment ID for each node in the segment routing path and configure, for a critical node in the segment routing path, the compressed segment ID, further having the function of performing segment ID type conversion for the segment ID specified by the field Segments Left (SL), wherein the critical node is a node configured using a compressed segment ID, of two adjacent nodes configured using different types of segment IDs.

[00206] Первый модуль 102 генерации выполнен с возможностью генерации списка сегментов, содержащего сконфигурированный сжатый идентификатор сегмента и сконфигурированный несжатый идентификатор сегмента.[00206] The first generation module 102 is configured to generate a segment list containing a configured compressed segment identifier and a configured uncompressed segment identifier.

[00207] Второй модуль 103 генерации выполнен с возможностью генерации заголовка сегментной маршрутизации пакета услуги, при этом заголовок сегментной маршрутизации пакета услуги содержит список сегментов и поле типа маршрутизации для указания формата заголовка сегментной маршрутизации, причем формат заголовка сегментной маршрутизации соответствует формату сжатого идентификатора сегмента.[00207] The second generation module 103 is configured to generate a segment routing header of the service packet, wherein the segment routing header of the service packet contains a list of segments and a routing type field for specifying a format of the segment routing header, wherein the format of the segment routing header corresponds to the compressed segment identifier format.

[00208] Согласно некоторым вариантам осуществления изобретения критический узел является узлом, конфигурируемым с использованием сжатого идентификатора сегмента, и узел следующего транзита конфигурируется с использованием несжатого идентификатора сегмента. Функция выполнения преобразования типа идентификатора сегмента для идентификатора сегмента, указанного полем Segments Left (SL), является первой функцией преобразования, предназначенной для преобразования типа идентификатора сегмента, указанного SL, в несжатый идентификатор сегмента.[00208] According to some embodiments of the invention, a critical node is a node configured using a compressed segment identifier, and a next hop node is configured using an uncompressed segment identifier. The function to perform a segment ID type conversion on the segment ID specified by the Segments Left (SL) field is the first conversion function to convert the segment ID type specified by SL to an uncompressed segment ID.

[00209] Согласно некоторым вариантам осуществления изобретения критический узел является узлом, конфигурируемым с использованием сжатого идентификатора сегмента, и узел предшествующего транзита конфигурируется с использованием несжатого идентификатора сегмента. Функция выполнения преобразования типа идентификатора сегмента для идентификатора сегмента, указанного полем Segments Left (SL), является второй функцией преобразования, предназначенной для преобразования типа идентификатора сегмента, указанного SL, в сжатый идентификатор сегмента.[00209] According to some embodiments of the invention, a critical node is a node configured using a compressed segment identifier, and a prior hop node is configured using an uncompressed segment identifier. The function to perform a segment identifier type conversion on the segment identifier indicated by the Segments Left (SL) field is a second conversion function for converting the type of segment identifier indicated by SL to a compressed segment identifier.

[00210] Согласно некоторым вариантам осуществления изобретения заголовок сегментной маршрутизации пакета услуги также содержит поле флага для указания типа идентификатора сегмента для идентификатора сегмента, указанного SL; первая функция преобразования включает изменение значения поля флага в заголовке сегментной маршрутизации принятого пакета услуги на значение, указывающее несжатый идентификатор сегмента; и/или вторая функция преобразования включает изменение значения поля флага в заголовке сегментной маршрутизации принятого пакета услуги на значение, указывающее сжатый идентификатор сегмента.[00210] According to some embodiments of the invention, the segment routing header of the service packet also contains a flag field to indicate the segment identifier type for the segment identifier indicated by the SL; the first transformation function includes changing the value of a flag field in a segment routing header of the received service packet to a value indicating an uncompressed segment identifier; and/or the second transformation function includes changing the value of a flag field in the segment routing header of the received service packet to a value indicating a compressed segment identifier.

[00211] Согласно некоторым вариантам осуществления изобретения заголовок сегментной маршрутизации пакета услуги также содержит поле расширения, которое используется для указания первого формата заголовка сегментной маршрутизации, и выполняют следующие функции после завершения обработки сжатого идентификатора сегмента: уменьшение значения SL на n, где n - отношение длины сжатого идентификатора сегмента к длине поддерживаемого самого короткого сжатого идентификатора сегмента, при этом n является положительным целым числом; и после завершения обработки несжатого идентификатора сегмента уменьшение значения SL на m, где m - отношение длины несжатого идентификатора сегмента к длине поддерживаемого самого короткого сжатого идентификатора сегмента, при этом m является положительным целым числом.[00211] According to some embodiments of the invention, the segment routing header of the service packet also contains an extension field that is used to indicate the first format of the segment routing header, and perform the following functions after processing of the compressed segment identifier is completed: decrease the value of SL by n, where n is the length ratio compressed segment identifier to the length of the supported shortest compressed segment identifier, with n being a positive integer; and upon completion of processing the uncompressed segment identifier, decrementing the value of SL by m, where m is the ratio of the length of the uncompressed segment identifier to the length of the shortest compressed segment identifier supported, with m being a positive integer.

[00212] Согласно некоторым вариантам осуществления изобретения поле типа маршрутизации используют для указания второго формата заголовка сегментной маршрутизации, и второй формат заголовка сегментной маршрутизации содержит р сжатых идентификаторов сегментов, занимающих биты длиной в t несжатых идентификаторов сегментов, где t - положительное целое число, р - значение, полученное путем округления отношения длины несжатого идентификатора сегмента к длине сжатого идентификатора сегмента. Если общая длина р сжатых идентификаторов сегментов меньше общей длины t несжатых идентификаторов сегментов, используют зарезервированные байты для заполнения оставшейся длины.[00212] According to some embodiments of the invention, the routing type field is used to indicate a second segment routing header format, and the second segment routing header format contains p compressed segment identifiers occupying t bits of uncompressed segment identifiers, where t is a positive integer, p - a value obtained by rounding off the ratio of the length of the uncompressed segment ID to the length of the compressed segment ID. If the total length p of the compressed segment IDs is less than the total length t of the uncompressed segment IDs, use the reserved bytes to fill the remaining length.

[00213] Поле типа маршрутизации используют для выполнения следующей функции: уменьшение SL на 1 после завершения обработки всех сжатых идентификаторов сегментов в пределах длины несжатого идентификатора сегмента.[00213] The routing type field is used to perform the following function: decrement SL by 1 upon completion of processing all compressed segment identifiers within the length of the uncompressed segment identifier.

[00214] Согласно некоторым вариантам осуществления изобретения завершение обработки всех сжатых идентификаторов сегментов в пределах длины несжатого идентификатора сегмента включает то, что все биты после текущего обработанного идентификатора сегмента в списке сегментов равны нулю.[00214] According to some embodiments of the invention, terminating the processing of all compressed segment identifiers within the length of the uncompressed segment identifier includes all bits after the currently processed segment identifier in the list of segments being zero.

[00215] Согласно некоторым вариантам осуществления изобретения заголовок сегментной маршрутизации пакета услуги или список сегментов также содержит поле счетчика для записи количества необработанных сжатых идентификаторов сегментов; и всякий раз, когда обработка сжатого идентификатора сегмента завершается, значение поля счетчика уменьшают на 1, при этом начальное значение поля счетчика равно р; и завершение обработки всех сжатых идентификаторов сегментов в пределах длины несжатого идентификатора сегмента включает то, что значение поля счетчика равно нулю.[00215] According to some embodiments of the invention, the service packet's segment routing header or segment list also includes a counter field for recording the number of unprocessed compressed segment identifiers; and whenever the processing of the compressed segment identifier is completed, the value of the counter field is decremented by 1, while the initial value of the counter field is equal to p; and terminating processing of all compressed segment IDs within the length of the uncompressed segment ID includes that the value of the counter field is zero.

[00216] На основе той же технической концепции согласно настоящему изобретению также предлагается устройство для обработки услуги, применимое к узлам тракта сегментной маршрутизации, причем каждый узел тракта сегментной маршрутизации конфигурируется с использованием сжатого идентификатора сегмента или несжатого идентификатора сегмента, критический узел в тракте сегментной маршрутизации конфигурируется с использованием сжатого идентификатора сегмента, дополнительно обладающего функцией выполнения преобразования типа идентификатора сегмента для идентификатора сегмента, указанного полем SL, и критический узел является узлом, конфигурируемым с использованием сжатого идентификатора сегмента, из двух смежных узлов, конфигурируемых с использованием различных типов идентификаторов сегментов. Как показано на фиг. 19, устройство для обработки услуги содержит: модуль 201 получения, модуль 202 обработки, модуль 203 преобразования и модуль 204 пересылки, при этом модуль 201 получения выполнен с возможностью получения списка сегментов и поля типа маршрутизации для указания формата заголовка сегментной маршрутизации из заголовка сегментной маршрутизации принятого пакета услуги, и список сегментов содержит сконфигурированный сжатый идентификатор сегмента и сконфигурированный несжатый идентификатор сегмента.[00216] Based on the same technical concept, the present invention also provides a service processing apparatus applicable to segment routing path nodes, where each segment routing path node is configured using a compressed segment identifier or an uncompressed segment identifier, a critical node in the segment routing path is configured using the compressed segment ID, further having the function of performing segment ID type conversion for the segment ID indicated by the SL field, and the critical node is a node configured using the compressed segment ID, from two adjacent nodes configured using different types of segment IDs. As shown in FIG. 19, the service processing apparatus includes: a receiving module 201, a processing module 202, a conversion module 203, and a forwarding module 204, wherein the receiving module 201 is configured to obtain a segment list and a routing type field to indicate the segment routing header format from the received segment routing header. service packet, and the segment list contains a configured compressed segment identifier and a configured uncompressed segment identifier.

[00217] Модуль 202 обработки выполнен с возможностью обработки текущего идентификатора сегмента в списке сегментов и изменения SL в соответствии с полем типа маршрутизации.[00217] The processing module 202 is configured to process the current segment ID in the segment list and change the SL according to the routing type field.

[00218] Модуль 203 преобразования выполнен с возможностью преобразования типа идентификатора сегмента для идентификатора сегмента, указанного SL, если текущий узел является критическим узлом.[00218] The mapping module 203 is configured to convert the segment ID type to the segment ID indicated by the SL if the current node is a critical node.

[00219] Модуль 204 пересылки выполнен с возможностью пересылки пакета услуги в узел следующего транзита, при этом пакет услуги переносит тип идентификатора сегмента, указанного SL.[00219] The forwarding module 204 is configured to forward the service packet to the next hop node, with the service packet carrying the type of segment identifier indicated by the SL.

[00220] Согласно некоторым вариантам осуществления изобретения критический узел является узлом, конфигурируемым с использованием сжатого идентификатора сегмента, и узел следующего транзита конфигурируется с использованием несжатого идентификатора сегмента; и модуль 203 преобразования выполнен с возможностью изменения типа идентификатора сегмента, указанного SL, на несжатый идентификатор сегмента.[00220] According to some embodiments of the invention, a critical node is a node configured using a compressed segment identifier, and a next hop node is configured using an uncompressed segment identifier; and the transform module 203 is configured to change the type of the segment ID indicated by SL to an uncompressed segment ID.

[00221] Согласно некоторым вариантам осуществления изобретения критический узел является узлом, конфигурируемым с использованием сжатого идентификатора сегмента, и узел предшествующего транзита конфигурируется с использованием несжатого идентификатора сегмента; и модуль 203 преобразования выполнен с возможностью изменения типа идентификатора сегмента, указанного SL, на сжатый идентификатор сегмента.[00221] According to some embodiments of the invention, a critical node is a node configured using a compressed segment identifier, and a prior hop node is configured using an uncompressed segment identifier; and the conversion module 203 is configured to change the type of the segment ID indicated by the SL to the compressed segment ID.

[00222] Согласно некоторым вариантам осуществления изобретения заголовок сегментной маршрутизации пакета услуги также включает поле флага для указания типа идентификатора сегмента, указанного SL.[00222] According to some embodiments of the invention, the segment routing header of the service packet also includes a flag field to indicate the type of segment identifier indicated by the SL.

[00223] Модуль 201 получения также выполнен с возможностью получения поля флага из заголовка сегментной маршрутизации пакета услуги, перед тем как модуль 203 преобразования преобразует тип идентификатора сегмента для идентификатора сегмента, указанного SL.[00223] The receiving module 201 is also configured to obtain a flag field from the segment routing header of the service packet before the conversion module 203 converts the segment identifier type to the segment identifier indicated by the SL.

[00224] Модуль 202 обработки выполнен с возможностью изменения значения поля флага на значение, указывающее несжатый идентификатор сегмента, и/или для изменения значения поля флага на значение, указывающее сжатый идентификатор сегмента.[00224] The processing module 202 is configured to change the value of the flag field to a value indicating the uncompressed segment identifier and/or to change the value of the flag field to a value indicating the compressed segment identifier.

[00225] Согласно некоторым вариантам осуществления изобретения модуль 202 обработки выполнен с возможностью, если заголовок сегментной маршрутизации является первым форматом заголовка сегментной маршрутизации, после завершения обработки сжатого идентификатора сегмента, уменьшения значения SL на n, где n - отношение длины сжатого идентификатора сегмента к длине поддерживаемого самого короткого сжатого идентификатора сегмента, при этом n является положительным целым числом; и, после завершения обработки несжатого идентификатора сегмента, уменьшения значения SL на m, где m - отношение длины несжатого идентификатора сегмента к длине поддерживаемого самого короткого сжатого идентификатора сегмента, при этом m является положительным целым числом.[00225] According to some embodiments of the invention, the processing module 202 is configured to, if the segment routing header is the first segment routing header format, upon completion of processing the compressed segment identifier, reduce the value of SL by n, where n is the ratio of the length of the compressed segment identifier to the length of the supported the shortest compressed segment identifier, with n being a positive integer; and, upon completion of processing the uncompressed segment identifier, decrementing the value of SL by m, where m is the ratio of the length of the uncompressed segment identifier to the length of the shortest compressed segment identifier supported, m being a positive integer.

[00226] Согласно некоторым вариантам осуществления изобретения модуль 202 обработки выполнен с возможностью, если заголовок сегментной маршрутизации является вторым форматом заголовка сегментной маршрутизации, после завершения обработки всех сжатых идентификаторов сегментов в пределах длины несжатого идентификатора сегмента, уменьшения SL на 1; при этом р сжатых идентификаторов сегментов занимают биты длиной в t несжатых идентификаторов сегментов, где t - положительное целое число, р - значение, полученное путем округления отношения длины несжатого идентификатора сегмента к длине сжатого идентификатора сегмента; и, если общая длина р сжатых идентификаторов сегментов меньше общей длины t несжатых идентификаторов сегментов, то используются зарезервированные биты для заполнения оставшейся длины.[00226] According to some embodiments of the invention, the processing module 202 is configured to, if the segment routing header is the second segment routing header format, upon completion of processing all compressed segment identifiers within the length of the uncompressed segment identifier, decrease SL by 1; wherein the p compressed segment IDs occupy bits of length t of the uncompressed segment IDs, where t is a positive integer, p is a value obtained by rounding off the ratio of the length of the uncompressed segment ID to the length of the compressed segment ID; and, if the total length p of the compressed segment identifiers is less than the total length t of the uncompressed segment identifiers, then the reserved bits are used to fill the remaining length.

[00227] Согласно некоторым вариантам осуществления изобретения завершение обработки всех сжатых идентификаторов сегментов в пределах длины несжатого идентификатора сегмента включает то, что все биты после текущего обработанного идентификатора сегмента в списке сегментов являются нулевыми.[00227] According to some embodiments of the invention, terminating the processing of all compressed segment identifiers within the length of the uncompressed segment identifier includes all bits after the currently processed segment identifier in the segment list are zero.

[00228] Согласно некоторым вариантам осуществления изобретения заголовок сегментной маршрутизации пакета услуги или список сегментов также содержит поле счетчика для записи количества необработанных сжатых идентификаторов сегментов; и всякий раз, когда обработка сжатого идентификатора сегмента завершается, значение поля счетчика уменьшается на 1, при этом начальное значение поля счетчика равно р; и завершение обработки всех сжатых идентификаторов сегментов в пределах длины несжатого идентификатора сегмента включает то, что значение поля счетчика равно нулю.[00228] According to some embodiments of the invention, the segment routing header of the service packet or the list of segments also contains a counter field for recording the number of unprocessed compressed segment identifiers; and whenever the processing of the compressed segment identifier is completed, the value of the counter field is decremented by 1, while the initial value of the counter field is equal to p; and terminating processing of all compressed segment IDs within the length of the uncompressed segment ID includes that the value of the counter field is zero.

[00229] В соответствии с настоящим изобретением также предлагается компьютерное устройство, содержащее один или более процессоров и запоминающее устройство, в котором хранится одна или более программ, при исполнении которых одним или более процессорами обеспечивается выполнение одним или более процессорами способа сжатия заголовка сегментной маршрутизации, представленного указанными выше вариантами осуществления изобретения.[00229] In accordance with the present invention, there is also provided a computer device comprising one or more processors and a storage device in which one or more programs are stored, the execution of which by one or more processors causes the one or more processors to execute the segment routing header compression method represented by the above embodiments of the invention.

[00230] Согласно варианту осуществления настоящего изобретения предлагается машиночитаемый носитель, на котором хранится компьютерная программа, при исполнении которой осуществляется способ обработки услуги, представленный указанными выше вариантами осуществления изобретения.[00230] According to an embodiment of the present invention, there is provided a computer-readable medium that stores a computer program that executes the service processing method of the above embodiments.

[00231] Специалисты в этой области техники могут понять, что все или некоторые шаги способов, раскрытых выше, и функциональные модули/блоки в устройстве могут быть реализованы в виде программного обеспечения, встроенного программного обеспечения, аппаратного обеспечения или подходящих их комбинаций. В случае аппаратной реализации разделение на функциональные модули/блоки, указанное выше, не обязательно соответствует разделению на физические компоненты; например, один физический компонент может выполнять несколько функций, или одна функция или шаг могут выполняться несколькими компонентами совместно. Некоторые или все физические компоненты могут быть реализованы в виде программного обеспечения, исполняемого процессором, например, центральным процессором, цифровым сигнальным процессором или микропроцессором, или в виде аппаратного обеспечения либо интегральной схемы, такой как специализированная интегральная схема. Такое программное обеспечение может распространяться на машиночитаемом носителе, который может включать компьютерный носитель (или носитель для хранения данных) и носитель связи (временный носитель). Как известно специалистам в этой области техники, термин «машиночитаемый носитель» включает энергозависимую и энергонезависимую память, съемную и несъемную память, реализованную с помощью любого способа или технологии хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Машиночитаемый носитель включает, без ограничения приведенными примерами, RAM, ROM, EEPROM, флэш-память или память, реализованную с помощью других технологий, CD-ROM, универсальный цифровой диск (DVD, Digital Versatile Disk) или другое оптическое запоминающее устройство, магнитную кассету, магнитную ленту, магнитный диск или другие магнитные запоминающие устройства, или любой другой носитель, который может использоваться для хранения требуемой информации и доступа к ней компьютера. Кроме того, как хорошо известно специалистам в этой области техники, носители связи обычно содержат машиночитаемые инструкции, структуры данных, программные модули или другие данные, переносимые модулированным сигналом передачи данных, таким как несущая или другой механизм передачи, и могут включать любые носители для доставки информации.[00231] Those skilled in the art can appreciate that all or some of the steps of the methods disclosed above and functional modules/blocks in a device may be implemented in software, firmware, hardware, or suitable combinations thereof. In the case of a hardware implementation, the division into functional modules/blocks above does not necessarily correspond to the division into physical components; for example, one physical component may perform several functions, or one function or step may be performed by several components together. Some or all of the physical components may be implemented as software executable by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware or an integrated circuit such as an ASIC. Such software may be distributed on a computer-readable medium, which may include a computer medium (or storage medium) and a communication medium (transient medium). As known to those skilled in the art, the term "computer-readable medium" includes volatile and non-volatile memory, removable and non-removable memory implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules, or other data. Computer-readable media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, Digital Versatile Disk (DVD) or other optical storage device, magnetic cassette, magnetic tape, magnetic disk or other magnetic storage devices, or any other medium that can be used to store the required information and access it by a computer. In addition, as is well known to those skilled in the art, communication media typically comprise computer readable instructions, data structures, program modules, or other data carried by a modulated data signal, such as a carrier or other transmission mechanism, and may include any information delivery media. .

[00232] В этом описании приведены примеры осуществления настоящего изобретения. Хотя в этом описании используются конкретные термины, эти термины применяются и должны рассматриваться только в общем описательном смысле и не должны ограничивать изобретение. Специалистам в этой области техники очевидно, что, если явно не указано иное, в некоторых примерах признаки, характеристики и/или элементы, описанные в связи с конкретным вариантом осуществления изобретения, могут использоваться отдельно или в сочетании с признаками, характеристиками и/или элементами, описанными в связи с другими вариантами осуществления настоящего изобретения. Соответственно, специалисту в данной области техники должно быть понятно, что различные изменения в форме и деталях изобретения могут быть выполнены в пределах сущности изобретения, определяемой прилагаемой формулой изобретения.[00232] This description provides exemplary embodiments of the present invention. Although specific terms are used in this description, these terms are used and should be considered in a general descriptive sense only and should not limit the invention. Specialists in this field of technology it is obvious that, unless expressly stated otherwise, in some examples, features, characteristics and/or elements described in connection with a particular embodiment of the invention may be used alone or in combination with features, characteristics and/or elements, described in connection with other embodiments of the present invention. Accordingly, one skilled in the art will appreciate that various changes in the form and details of the invention may be made within the spirit of the invention as defined by the appended claims.

Claims (41)

1. Способ сжатия заголовка сегментной маршрутизации, включающий:1. Segment routing header compression method, including: конфигурирование (S11) сжатого идентификатора сегмента или несжатого идентификатора сегмента для каждого узла в тракте сегментной маршрутизации и конфигурирование (S11), для критического узла в тракте сегментной маршрутизации, сжатого идентификатора сегмента, дополнительно обладающего функцией выполнения преобразования типа идентификатора сегмента для идентификатора сегмента, указанного полем Segments Left (SL), при этом критический узел является узлом, конфигурируемым с использованием сжатого идентификатора сегмента, из двух смежных узлов, конфигурируемых с использованием различных типов идентификаторов сегментов;configuring (S11) the compressed segment ID or the uncompressed segment ID for each node in the segment routing path, and configuring (S11), for the critical node in the segment routing path, the compressed segment ID further having the function of performing segment ID type conversion for the segment ID specified by the field Segments Left (SL), wherein the critical node is a node configured using a compressed segment ID, of two adjacent nodes configured using different types of segment IDs; генерацию (S12) списка сегментов, содержащего сконфигурированный сжатый идентификатор сегмента и сконфигурированный несжатый идентификатор сегмента;generating (S12) a segment list containing a configured compressed segment identifier and a configured uncompressed segment identifier; генерацию (S13) заголовка сегментной маршрутизации пакета услуги, при этом заголовок сегментной маршрутизации пакета услуги содержит список сегментов и поле типа маршрутизации для указания формата заголовка сегментной маршрутизации, при этом формат заголовка сегментной маршрутизации соответствует формату сжатого идентификатора сегмента.generating (S13) a segment routing header of the service packet, wherein the segment routing header of the service packet contains a list of segments and a routing type field for specifying the format of the segment routing header, wherein the format of the segment routing header corresponds to the compressed segment identifier format. 2. Способ по п. 1, в котором критический узел является узлом, конфигурируемым с использованием сжатого идентификатора сегмента, и узел следующего транзита конфигурируют с использованием несжатого идентификатора сегмента, функция преобразования типа идентификатора сегмента для идентификатора сегмента, указанного SL, является первой функцией преобразования, предназначенной для преобразования типа идентификатора сегмента, указанного SL, в несжатый идентификатор сегмента; и/или2. The method of claim 1, wherein the critical node is a node configured using a compressed segment ID and the next hop node is configured using an uncompressed segment ID, the segment ID type conversion function for the segment ID specified by SL is the first conversion function, for converting the segment identifier type indicated by SL to an uncompressed segment identifier; and/or критический узел является узлом, конфигурируемым с использованием сжатого идентификатора сегмента, и узел предшествующего транзита конфигурируют с использованием несжатого идентификатора сегмента, функция выполнения преобразования типа идентификатора сегмента для идентификатора сегмента, указанного SL, является второй функцией преобразования, предназначенной для преобразования типа идентификатора сегмента, указанного SL, в сжатый идентификатор сегмента,the critical node is a node configured using a compressed segment ID, and the prior hop node is configured using an uncompressed segment ID, the function to perform segment ID type conversion on the segment ID specified by SL is the second conversion function to convert the segment ID type specified by SL , to a compressed segment ID, предпочтительно,preferably, заголовок сегментной маршрутизации пакета услуги также содержит поле флага для указания типа идентификатора сегмента для идентификатора сегмента, указанного SL; иthe segment routing header of the service packet also contains a flag field for indicating the segment identifier type for the segment identifier indicated by the SL; And первая функция преобразования включает изменение значения поля флага в заголовке сегментной маршрутизации принятого пакета услуги на значение, указывающее несжатый идентификатор сегмента; и/или вторая функция преобразования включает изменение значения поля флага в заголовке сегментной маршрутизации принятого пакета услуги на значение, указывающее сжатый идентификатор сегмента.the first transformation function includes changing the value of a flag field in a segment routing header of the received service packet to a value indicating an uncompressed segment identifier; and/or the second transformation function includes changing the value of a flag field in the segment routing header of the received service packet to a value indicating a compressed segment identifier. 3. Способ по п. 1 или 2, в котором заголовок сегментной маршрутизации пакета услуги также содержит поле расширения, которое используют для указания первого формата заголовка сегментной маршрутизации; при этом выполняют следующую функцию:3. The method according to claim 1 or 2, wherein the segment routing header of the service packet also contains an extension field that is used to indicate the first format of the segment routing header; while performing the following function: после завершения обработки сжатого идентификатора сегмента, уменьшение значения SL на n, где n - отношение длины сжатого идентификатора сегмента к длине поддерживаемого самого короткого сжатого идентификатора сегмента, при этом n является положительным целым числом; и, после завершения обработки несжатого идентификатора сегмента, уменьшение значения SL на m, где m - отношение длины несжатого идентификатора сегмента к длине поддерживаемого самого короткого сжатого идентификатора сегмента, при этом m является положительным целым числом.after the processing of the compressed segment identifier is completed, decrementing the value of SL by n, where n is the ratio of the length of the compressed segment identifier to the length of the shortest compressed segment identifier supported, with n being a positive integer; and, upon completion of processing the uncompressed segment identifier, decrementing the value of SL by m, where m is the ratio of the length of the uncompressed segment identifier to the length of the shortest compressed segment identifier supported, with m being a positive integer. 4. Способ по п. 1 или 2, в котором поле типа маршрутизации используют для указания второго формата заголовка сегментной маршрутизации, и второй формат заголовка сегментной маршрутизации содержит р сжатых идентификаторов сегментов, занимающих биты длиной в t несжатых идентификаторов сегментов, где t положительное целое число, и р значение, полученное путем округления отношения длины несжатого идентификатора сегмента к длине сжатого идентификатора сегмента, и, если общая длина р сжатых идентификаторов сегментов меньше общей длины t несжатых идентификаторов сегментов, используют зарезервированные байты для заполнения оставшейся длины; и4. The method of claim 1 or 2, wherein the routing type field is used to indicate a second segment routing header format, and the second segment routing header format comprises p compressed segment identifiers occupying t bits of uncompressed segment identifiers, where t is a positive integer , and p is a value obtained by rounding the ratio of the length of the uncompressed segment identifier to the length of the compressed segment identifier, and if the total length p of the compressed segment identifiers is less than the total length t of the uncompressed segment identifiers, use the reserved bytes to fill the remaining length; And поле типа маршрутизации используют для выполнения следующей функции: уменьшение SL на 1 после завершения обработки всех сжатых идентификаторов сегментов в пределах длины несжатого идентификатора сегмента,the routing type field is used to perform the following function: decrement SL by 1 upon completion of processing all compressed segment identifiers within the length of the uncompressed segment identifier, предпочтительно,preferably, завершение обработки всех сжатых идентификаторов сегментов в пределах длины несжатого идентификатора сегмента включает то, что все биты после текущего обработанного идентификатора сегмента в списке сегментов являются нулевыми; и/илиcompleting processing of all compressed segment IDs within the length of the uncompressed segment ID includes that all bits after the currently processed segment ID in the segment list are zero; and/or заголовок сегментной маршрутизации пакета услуги или список сегментов также содержит поле счетчика для записи количества необработанных сжатых идентификаторов сегментов; и всякий раз, когда обработка сжатого идентификатора сегмента завершается, значение поля счетчика уменьшают на 1, при этом начальное значение поля счетчика равно р; и завершение обработки всех сжатых идентификаторов сегментов в пределах длины несжатого идентификатора сегмента включает то, что значение поля счетчика равно нулю.the segment routing header of the service packet or segment list also contains a counter field for recording the number of unprocessed compressed segment identifiers; and whenever the processing of the compressed segment identifier is completed, the value of the counter field is decremented by 1, while the initial value of the counter field is equal to p; and terminating processing of all compressed segment IDs within the length of the uncompressed segment ID includes that the value of the counter field is zero. 5. Способ обработки услуги, применимый к узлам тракта сегментной маршрутизации, причем каждый узел тракта сегментной маршрутизации конфигурируют с использованием сжатого идентификатора сегмента или несжатого идентификатора сегмента, критический узел в тракте сегментной маршрутизации конфигурируют с использованием сжатого идентификатора сегмента, дополнительно обладающего функцией выполнения преобразования типа идентификатора сегмента для идентификатора сегмента, указанного SL, и критический узел является узлом, конфигурируемым с использованием сжатого идентификатора сегмента, из двух смежных узлов, конфигурируемых с использованием различных типов идентификаторов сегментов, при этом способ включает:5. A service processing method applicable to segment routing path nodes, wherein each segment routing path node is configured using a compressed segment identifier or an uncompressed segment identifier, a critical node in the segment routing path is configured using a compressed segment identifier further having a function to perform identifier type conversion segment ID for the segment ID specified by SL, and the critical node is a node configured using a compressed segment ID, of two adjacent nodes configured using different types of segment IDs, the method comprising: получение (S21) списка сегментов и поля типа маршрутизации для указания формата заголовка сегментной маршрутизации из заголовка сегментной маршрутизации принятого пакета услуги, при этом список сегментов содержит сконфигурированный сжатый идентификатор сегмента и сконфигурированный несжатый идентификатор сегмента;obtaining (S21) a segment list and a routing type field for indicating a segment routing header format from a segment routing header of the received service packet, the segment list including a configured compressed segment identifier and a configured uncompressed segment identifier; обработку (S22) текущего идентификатора сегмента в списке сегментов и изменение SL в соответствии с полем типа маршрутизации;processing (S22) the current segment ID in the segment list and changing the SL according to the routing type field; если текущий узел является критическим узлом, выполнение (S23) преобразования типа идентификатора сегмента для идентификатора сегмента, указанного SL; иif the current node is a critical node, performing (S23) a type conversion of the segment ID to the segment ID specified by the SL; And пересылку (S24) пакета услуги в узел следующего транзита, при этом пакет услуги переносит тип идентификатора сегмента, указанного SL.forwarding (S24) the service packet to the next hop node, the service packet carrying the segment identifier type indicated by the SL. 6. Способ по п. 5, в котором критический узел является узлом, конфигурируемым с использованием сжатого идентификатора сегмента, и узел следующего транзита конфигурируют с использованием несжатого идентификатора сегмента; и выполнение преобразования типа идентификатора сегмента для идентификатора сегмента, указанного SL, включает изменение типа идентификатора сегмента, указанного SL, на несжатый идентификатор сегмента; и/или6. The method of claim 5, wherein the critical node is a node configured using a compressed segment ID and the next hop node is configured using an uncompressed segment ID; and performing a type conversion of the segment ID on the segment ID indicated by the SL, comprising changing the type of the segment ID indicated by the SL to an uncompressed segment ID; and/or критический узел является узлом, конфигурируемым с использованием сжатого идентификатора сегмента, и узел предшествующего транзита конфигурируют с использованием несжатого идентификатора сегмента; и выполнение преобразования типа идентификатора сегмента для идентификатора сегмента, указанного SL, включает: изменение типа идентификатора сегмента, указанного SL, на сжатый идентификатор сегмента,the critical node is a node configured using the compressed segment ID, and the prior hop node is configured using the uncompressed segment ID; and performing a type conversion of the segment ID on the segment ID indicated by SL includes: changing the type of the segment ID indicated by SL to a compressed segment ID, предпочтительно,preferably, заголовок сегментной маршрутизации пакета услуги также содержит поле флага для указания типа идентификатора сегмента, указанного SL;the segment routing header of the service packet also contains a flag field to indicate the type of segment identifier indicated by the SL; перед выполнением преобразования типа идентификатора сегмента для идентификатора сегмента, указанного SL, способ также включает:before performing the segment ID type conversion for the segment ID specified by SL, the method also includes: получение поля флага из заголовка сегментной маршрутизации пакета услуги;obtaining a flag field from a segment routing header of the service packet; изменение типа идентификатора сегмента, указанного SL, на несжатый идентификатор сегмента включает изменение значения поля флага на значение, указывающее несжатый идентификатор сегмента; и/илиchanging the segment identifier type indicated by SL to an uncompressed segment identifier includes changing the value of the flag field to a value indicating an uncompressed segment identifier; and/or изменение типа идентификатора сегмента, указанного SL, на сжатый идентификатор сегмента включает изменение значения поля флага на значение, указывающее сжатый идентификатор сегмента.changing the segment identifier type indicated by SL to a compressed segment identifier includes changing the value of the flag field to a value indicating the compressed segment identifier. 7. Способ по п. 5 или 6, в котором изменение SL в соответствии с полем типа маршрутизации включает:7. The method of claim 5 or 6, wherein changing the SL according to the routing type field includes: если заголовок сегментной маршрутизации является первым форматом заголовка сегментной маршрутизации, после завершения обработки сжатого идентификатора сегмента уменьшение значения SL на n, где n - отношение длины сжатого идентификатора сегмента к длине поддерживаемого самого короткого сжатого идентификатора сегмента, при этом n является положительным целым числом; иif the segment routing header is the first format of the segment routing header, after the processing of the compressed segment identifier is completed, decrease the value of SL by n, where n is the ratio of the length of the compressed segment identifier to the length of the shortest compressed segment identifier supported, with n being a positive integer; And после завершения обработки несжатого идентификатора сегмента уменьшение значения SL на m, где m отношение длины несжатого идентификатора сегмента к длине поддерживаемого самого короткого сжатого идентификатора сегмента, при этом m является положительным целым числом.after the processing of the uncompressed segment identifier is completed, decrease the value of SL by m, where m is the ratio of the length of the uncompressed segment identifier to the length of the shortest compressed segment identifier supported, with m being a positive integer. 8. Способ по п. 5 или 6, в котором изменение SL в соответствии с полем типа маршрутизации включает:8. The method of claim 5 or 6, wherein changing the SL according to the routing type field includes: если заголовок сегментной маршрутизации является вторым форматом заголовка сегментной маршрутизации, после завершения обработки всех сжатых идентификаторов сегментов в пределах длины несжатого идентификатора сегмента уменьшение SL на 1; при этом р сжатых идентификаторов сегментов занимают биты длиной в t несжатых идентификаторов сегментов, где t - положительное целое число, р - значение, полученное путем округления отношения длины несжатого идентификатора сегмента к длине сжатого идентификатора сегмента; и, если общая длина р сжатых идентификаторов сегментов меньше общей длины t несжатых идентификаторов сегментов, используют зарезервированные байты для заполнения оставшейся длины,if the segment routing header is the second segment routing header format, upon completion of processing all compressed segment identifiers within the length of the uncompressed segment identifier, decrease SL by 1; wherein the p compressed segment IDs occupy bits of length t of the uncompressed segment IDs, where t is a positive integer, p is a value obtained by rounding off the ratio of the length of the uncompressed segment ID to the length of the compressed segment ID; and, if the total length p of the compressed segment IDs is less than the total length t of the uncompressed segment IDs, use the reserved bytes to fill the remaining length, предпочтительно,preferably, завершение обработки всех сжатых идентификаторов сегментов в пределах длины несжатого идентификатора сегмента включает то, что все биты после текущего обработанного идентификатора сегмента в списке сегментов являются нулевыми; и/илиcompleting processing of all compressed segment IDs within the length of the uncompressed segment ID includes that all bits after the currently processed segment ID in the segment list are zero; and/or заголовок сегментной маршрутизации пакета услуги или список сегментов также содержит поле счетчика для записи количества необработанных сжатых идентификаторов сегментов; и всякий раз, когда обработка сжатого идентификатора сегмента завершается, значение поля счетчика уменьшают на 1, при этом начальное значение поля счетчика равно р; и завершение обработки всех сжатых идентификаторов сегментов в пределах длины несжатого идентификатора сегмента включает то, что значение поля счетчика равно нулю.the segment routing header of the service packet or segment list also contains a counter field for recording the number of unprocessed compressed segment identifiers; and whenever the processing of the compressed segment identifier is completed, the value of the counter field is decremented by 1, while the initial value of the counter field is equal to p; and terminating processing of all compressed segment IDs within the length of the uncompressed segment ID includes that the value of the counter field is zero. 9. Устройство для сжатия заголовка сегментной маршрутизации, содержащее модуль (101) конфигурирования, первый модуль (102) генерации и второй модуль (103) генерации, при этом9. A device for compressing a segment routing header, comprising a configuration module (101), a first generation module (102) and a second generation module (103), wherein модуль (101) конфигурирования выполнен с возможностью конфигурирования сжатого идентификатора сегмента или несжатого идентификатора сегмента для каждого узла в тракте сегментной маршрутизации и конфигурирования, для критического узла в тракте сегментной маршрутизации, сжатого идентификатора сегмента, дополнительно обладающего функцией выполнения преобразования типа идентификатора сегмента для идентификатора сегмента, указанного полем Segments Left (SL), при этом критический узел является узлом, конфигурируемым с использованием сжатого идентификатора сегмента, из двух смежных узлов, конфигурируемых с использованием различных типов идентификаторов сегментов;the configuration module (101) is configured to configure a compressed segment identifier or an uncompressed segment identifier for each node in the segment routing path and configuration, for a critical node in the segment routing path, a compressed segment identifier, additionally having the function of performing segment identifier type conversion for the segment identifier, indicated by the Segments Left (SL) field, wherein the critical node is a node configured using a compressed segment identifier, of two adjacent nodes configured using different types of segment identifiers; первый модуль (102) генерации выполнен с возможностью генерации списка сегментов, содержащего сконфигурированный сжатый идентификатор сегмента и сконфигурированный несжатый идентификатор сегмента; иthe first generation module (102) is configured to generate a list of segments containing a configured compressed segment identifier and a configured uncompressed segment identifier; And второй модуль (103) генерации выполнен с возможностью генерации заголовка сегментной маршрутизации пакета услуги, при этом заголовок сегментной маршрутизации пакета услуги содержит список сегментов и поле типа маршрутизации для указания формата заголовка сегментной маршрутизации, при этом формат заголовка сегментной маршрутизации соответствует формату сжатого идентификатора сегмента.the second generation module (103) is configured to generate a segment routing header of the service packet, wherein the segment routing header of the service packet contains a list of segments and a routing type field to indicate the format of the segment routing header, while the format of the segment routing header corresponds to the compressed segment identifier format.
RU2022128941A 2020-04-13 2021-04-12 Method and device for segment routing header compression, method and device for service processing RU2795936C1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010285171.9 2020-04-13

Publications (1)

Publication Number Publication Date
RU2795936C1 true RU2795936C1 (en) 2023-05-15

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2173028C2 (en) * 1995-10-13 2001-08-27 Нет2Фон, Инк. Method and device for transmission and routing of speech telephone calls in computer network with package switching
WO2018156534A1 (en) * 2017-02-23 2018-08-30 Cisco Technology, Inc. Heterogeneous access gateway for an information-centric networking environment
WO2018156484A1 (en) * 2017-02-23 2018-08-30 Cisco Technology, Inc. System and method to facilitate cross-layer optimization of video over wifi in an information-centric networking environment
WO2018156483A1 (en) * 2017-02-22 2018-08-30 Cisco Technology, Inc. System and method to facilitate an information-centric networking socket and fast in-network authentication
WO2019005949A1 (en) * 2017-06-27 2019-01-03 Cisco Technology, Inc. Segment routing gateway

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2173028C2 (en) * 1995-10-13 2001-08-27 Нет2Фон, Инк. Method and device for transmission and routing of speech telephone calls in computer network with package switching
WO2018156483A1 (en) * 2017-02-22 2018-08-30 Cisco Technology, Inc. System and method to facilitate an information-centric networking socket and fast in-network authentication
WO2018156534A1 (en) * 2017-02-23 2018-08-30 Cisco Technology, Inc. Heterogeneous access gateway for an information-centric networking environment
WO2018156484A1 (en) * 2017-02-23 2018-08-30 Cisco Technology, Inc. System and method to facilitate cross-layer optimization of video over wifi in an information-centric networking environment
WO2019005949A1 (en) * 2017-06-27 2019-01-03 Cisco Technology, Inc. Segment routing gateway

Similar Documents

Publication Publication Date Title
US11824771B2 (en) Packet processing method, related device, and computer storage medium
CN111917640B (en) SRv6 network segment list generation method, message forwarding method, device and system
CN112511428A (en) Message encapsulation method, message forwarding method, notification method, electronic device, and storage medium
CN112491708A (en) Routing header encapsulation method and device of IPv6 message
EP3944569A1 (en) Data processing method based on srv6, and related network device
JP7481436B2 (en) Method, device and system for forwarding packets in a SR network
WO2021213507A1 (en) Data packet processing method and device
US20220182323A1 (en) Method for forwarding packet in sr network, device, and system
CN112448888A (en) Method, equipment and system for forwarding message in SR network
EP4138348A1 (en) Segment routing header compression method and apparatus and service processing method and apparatus
US20060182105A1 (en) Apparatus and method for transmitting multi protocol label switching (MPLS) multicast packets over Ethernet
EP4024782A1 (en) Method by which host network performance requirements may be programmed, device and system
WO2022111606A1 (en) Message transmission method, segment list generation method, compressed segment identifier acquisition method, and apparatuses
US20230030344A1 (en) Minimizing Differences In Segment Identifiers For Segment Routing
CN112511988A (en) Message forwarding method, device, system, network device and storage medium
US11115324B2 (en) System and method for performing segment routing over an MPLS network
EP4135274A1 (en) Segment routing header compression method, service processing method and device, computer device and computer-readable medium
CN115086449A (en) Data analysis method and device and computer readable storage medium
RU2795936C1 (en) Method and device for segment routing header compression, method and device for service processing
CN112187641B (en) Routing information sending method, message sending method and related device
CN113630316B (en) Data transmission method and communication device
CN115428412A (en) Compressing segment identifiers for segment routing
EP4111650A1 (en) Mixing segments with different sizes for segment routing
CN116743733A (en) Message sending method and device, storage medium and electronic device
CN116846815A (en) Multicast traffic aggregation forwarding method and related equipment