Method and system for using hop-by-hop bitmap in network protocol

By using a hop-by-hop bitmap method with delimiter bits and overflow bits in the network protocol, the problems of increased bit count and static configuration complexity in the prior art are solved, achieving compactness and flexibility in bit count, and making it suitable for network paths with unknown hop count.

CN122139347APending Publication Date: 2026-06-02HUAWEI TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2023-11-08
Publication Date
2026-06-02

AI Technical Summary

Technical Problem

The hop-by-hop bitmap method in existing network protocols requires additional fields to indicate the length of the inserted information or the next insertion position, which increases the number of bits and requires complex static configuration, making it unable to flexibly adapt to network paths with unknown hop counts.

Method used

The hop-by-hop bitmap method dynamically inserts network device status information by using delimiter bits and overflow bits in data packets. This simplifies the bit allocation process and is suitable for network paths with fixed or unknown hop counts, eliminating the need for additional fields to indicate length or position.

Benefits of technology

It reduces the overhead of bits in network protocols, maintains a compact bit count, is suitable for various network protocols, eliminates the need for static bit allocation, and simplifies the configuration process for each node.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122139347A_ABST
    Figure CN122139347A_ABST
Patent Text Reader

Abstract

A method for using a hop-by-hop bitmap (210, 300) in a network protocol includes the following steps: (i) receiving an information data packet (206) from a transmitting device (202) that passes through a plurality of network devices (204A–N) along a path, wherein the data packet has a data field (208) including a hop-by-hop bitmap, the hop-by-hop bitmap including a plurality of bit values ​​(212A–N+1) for indicating the current state of each of the plurality of network devices; (ii) checking specific bit values ​​in the hop-by-hop bitmap to determine whether there is space in the hop-by-hop bitmap for adding more bit values; (iii) when it is determined that there is space in the hop-by-hop bitmap for adding more bit values, adding at least one bit value indicating the current state of a network device to the hop-by-hop bitmap; and (iv) moving the plurality of bit values ​​in the hop-by-hop bitmap in a predetermined direction.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure generally relates to computer networks or communication protocols in networks, and more specifically, to a method and system for using hop-by-hop bitmaps in network protocols. Background Technology

[0002] Network protocols typically use hop-by-hop fields, with network devices such as switches and routers embedding various information into data packets. This information includes performance-related data such as congestion status, queue status, timestamps, and latency. Typical examples of such protocols include In Situ Operations Administration and Maintenance (IOAM) and In-band Network Telemetry (INT).

[0003] To facilitate hop-by-hop updates within data packets, each network device must determine the insertion point for its information. There are two main methods to achieve this: The first method involves each network device inserting its information into a fixed position within the data packet. Each network device shifts the remaining fields, thereby increasing the packet length. In this method, the network device updates header fields to indicate the length or number of hops for the hop-by-hop information. The incremental tracking option utilizes the IOAM and INT protocols by (i) inserting data into a fixed position within the packet header; and (ii) updating header fields to indicate the length or number of hops. This allows for incremental tracking accumulation as the packet travels through the network.

[0004] The second method involves each network device inserting its information into the packet position specified by the packet header, without changing the packet length. The network device then updates the packet header to indicate where the next network device should insert its information. This method exemplifies options such as pre-allocation tracking in IOAM.

[0005] In some protocols, the hop-by-hop field is one bit long, allowing each device to report binary status. These protocols include a hop number field in the header, which increments along the path by each network device / node. This field helps each network device determine its own updatable bits. The destination node can then know the current hop count (i.e., the number of bits). In these protocols, the information inserted by each network device along the path consists of a single bit. The set of bits along the path forms a bitmap, conveying information about the status or configuration of each node or router. Each node / router along the path updates one bit in the bitmap. For example, in telemetry protocols, a hop-by-hop bitmap can be used to indicate whether a node is congested, with bits representing various states within the node along the path. However, this approach has drawbacks: it requires additional fields and consumes more bits. In a network with N hops, both of the above methods require N+log(N) bits: N bits for the bitmap itself, and an additional log(N) bits for the hop number field, which increments with each hop along the path.

[0006] Figure 1 (Prior Art) illustrates an example of a network protocol using a hop-by-hop bitmap for data packet 102. In this network protocol, data packet 102 is routed from a sending network device H1 to a receiving network device H2. Data packet 102 includes headers (i.e., Layer 2 header, Layer 3 header, Layer 4 header, and telemetry header), a telemetry field, a payload, and a hop-by-hop bitmap. The hop-by-hop bitmap includes bit values ​​indicating information about the network devices (i.e., telemetry data). Intermediate network devices (e.g., routers R0 to R4) dynamically update the information in the hop-by-hop bitmap, which is then transmitted to an external collector at the path end of the receiving network device, as shown in Figure 1. Alternatively, the information can be returned to the sending network device. One challenge when using a hop-by-hop bitmap is that each node needs to know which bits need to be updated.

[0007] Another approach to hop-by-hop bitmap updates involves using a static allocation strategy. This method requires maintaining a fixed number of hops throughout the network path and statically allocating dedicated bits to each node. However, this approach has limitations, including the need for complex configuration and the assumption of a fixed, predetermined number of hops. Furthermore, previous hop-by-hop information insertion methods incur overhead, requiring either a field indicating the length of the inserted information or a field indicating the next insertion position. Therefore, it is necessary to address the aforementioned technical problems / deficiencies in network protocols. Summary of the Invention

[0008] One object of this disclosure is to provide a method and system for using hop-by-hop bitmaps in network protocols while avoiding one or more drawbacks of existing techniques.

[0009] This objective is achieved by the features of the independent claim. Other implementations are apparent from the dependent claims, the description, and the drawings.

[0010] This disclosure provides a method and system for using hop-by-hop bitmaps in network protocols.

[0011] According to a first aspect, a method for using a hop-by-hop bitmap in a network protocol is provided. The method includes the following steps: (i) receiving from a transmitting device an information data packet traversing a path through a plurality of network devices, wherein the data packet has a data field including a hop-by-hop bitmap, the hop-by-hop bitmap including a plurality of bit values ​​indicating the current state of each of the plurality of network devices; (ii) examining specific bit values ​​in the hop-by-hop bitmap to determine if there is space in the hop-by-hop bitmap for adding more bit values; (iii) when it is determined that there is space in the hop-by-hop bitmap for adding more bit values, adding at least one bit value indicating the current state of the network devices to the hop-by-hop bitmap; and (iv) shifting the plurality of bit values ​​in the hop-by-hop bitmap along a predetermined direction. Upon receiving the data packet, a receiving device processes the plurality of bit values ​​in the hop-by-hop bitmap in the opposite direction to the predetermined direction.

[0012] This method sends hop-by-hop bitmaps / information into fixed-size data packets without including any fields indicating the length of the inserted information or the next insertion position. This minimizes overhead and reduces the number of bits required by the network protocol. Using hop-by-hop bitmaps in network protocols eliminates the need to statically allocate each node to specific bits; simultaneously, it maintains bit compactness because no explicit hop number field is required. Instead, this method uses bitmap delimiters, eliminating the need to predetermine the exact number of hops. This method utilizes hop-by-hop shifting to simplify the allocation of each bit to its corresponding node. Therefore, for N hops, the hop-by-hop bitmap requires only N+1 bits; while state-of-the-art schemes require N+log(N) bits or statically allocate nodes to specific bits. This method can be standardized and is applicable to various network protocols.

[0013] In a preferred embodiment, there are N network devices among the plurality of network devices. The hop-by-hop bitmap may include N+1 bits. Optionally, the hop-by-hop bitmap may include N bits, with each of the N network devices corresponding to one bit, and an additional bit used as a delimiter bit. In a preferred embodiment, the receiving device processes the delimiter bit, and then processes each of the bits following the delimiter bit in the opposite direction to the predetermined direction.

[0014] In a preferred embodiment, the receiving device detects the position of the delimiter bit and, based on the detected position, derives the number of network devices from the number of bits following the delimiter bit.

[0015] The data packet may also include an overflow bit, which is set to a predetermined value when a network device in the hop-by-hop bitmap determines that there is no space in the hop-by-hop bitmap to add more bit values. Preferably, the receiving device checks the overflow bit to determine whether any network device lacks space to add bit values ​​to the hop-by-hop bitmap.

[0016] The data fields may be telemetry data fields. The hop-by-hop bitmap may include data indicating the congestion status of the corresponding network device. The hop-by-hop bitmap may include data indicating the queue status of the corresponding network device. The status of the hop-by-hop bitmap can be used as an effective tool for tracking and monitoring network performance and status. The hop-by-hop bitmap may include data indicating the timestamps associated with the corresponding network devices.

[0017] According to a second aspect, a system is provided, the system comprising means for performing all the steps of the method described in the first aspect above.

[0018] According to a third aspect, a computer program is provided that, when executed on a computer system, includes instructions for performing all the steps of the method described in the first aspect.

[0019] Therefore, unlike existing solutions, this method sends hop-by-hop bitmaps / information into fixed-size packets without including any fields indicating the length of the inserted information or the next insertion position. This minimizes overhead and reduces the number of bits required by the network protocol. Using hop-by-hop bitmaps in the network protocol eliminates the need to statically allocate specific bits to each node; simultaneously, it maintains a compact bit count because no explicit hop number field is required.

[0020] These and other aspects of this disclosure will become apparent from one or more implementations described below. Attached Figure Description

[0021] The various implementations of this disclosure will now be illustrated by way of example and with reference to the accompanying drawings, wherein: Figure 1 illustrates an example of a network protocol that uses a hop-by-hop bitmap of data packets (prior art). Figure 2 A system for transmitting hop-by-hop bitmaps in a network protocol, according to an implementation of this disclosure, is shown; Figure 3 This illustrates an implementation of the present disclosure using... Figure 2 The system shown is an example of updating bit values ​​in a hop-by-hop bitmap within a network protocol. Figures 4A to 4B The flowchart illustrating an implementation of this disclosure shows a method for using hop-by-hop bitmaps in a network protocol; Figures 5A to 5B The flowchart of an implementation according to this disclosure illustrates a method for using a hop-by-hop bitmap containing overflow bits in a network protocol; Figure 6 A computer system (e.g., a transmitting device, a receiving device, and / or a network device) is shown, in which various architectures and functions of the aforementioned implementations can be implemented. Detailed Implementation

[0022] The present disclosure provides a method and a system for using hop-by-hop bitmaps in a network protocol.

[0023] To enable those skilled in the art to more readily understand the solutions disclosed herein, the following implementations of this disclosure are described in conjunction with the accompanying drawings.

[0024] The terms “first,” “second,” “third,” and “fourth,” (if any), used in this disclosure, the claims, and the accompanying drawings are used to distinguish similar objects and are not necessarily used to describe a particular sequence or order. It should be understood that the terms thus used are interchangeable where appropriate, for example, to allow implementations of this disclosure described herein to be implemented in sequences other than those shown or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to the steps or units expressly listed, but may include other steps or units not expressly listed or inherent to the aforementioned process, method, product, or apparatus.

[0025] Figure 2 A system 200 for transmitting a hop-by-hop bitmap 210 in a network protocol, according to an implementation of this disclosure, is shown. System 200 includes a transmitting device 202, a receiving device 214, and one or more intermediate network devices / nodes 204A–N (e.g., routers or switches). The transmitting device 202 transmits an information data packet 206 to the destination device (i.e., the receiving device 214). The data packet 206 includes the hop-by-hop bitmap 210, which includes multiple bit values ​​212A–N+1. The data packet 206 may also include a header and a payload. The hop-by-hop bitmap 210 may include N+1 bits and supports up to N network devices / nodes 204A–N along the path. The transmitting device 202 initializes the leftmost bit of the hop-by-hop bitmap 210 to "1" (see [link to documentation]). Figure 3The top row of the hop-by-hop bitmap 210 is initialized with the remaining bits set to "0". Each intermediate network device along the path checks for space in the hop-by-hop bitmap 210 by checking if the rightmost bit is "0". If the rightmost bit is "0", the intermediate network device adds its bit value to the leftmost position and shifts the remaining bits one position to the right. The bit values ​​of the network devices indicate the status or configuration information of the network devices. Packet 206 may include an overflow bit. If the network device determines that there is no space in the hop-by-hop bitmap 210 to add more bits, the network device sets a predetermined value for the overflow bit. The overflow bit value can be set to "1".

[0026] Receiving device 214 receives data packet 206 from the network device. Receiving device 214 processes the hop-by-hop bitmap 210 in data packet 206 by reading bits from right to left. If a sequence of zeros exists at the beginning of the hop-by-hop bitmap 210, receiving device 214 ignores the zero sequence. Receiving device 214 uses the bit value "1" detected in the hop-by-hop bitmap 210 (i.e., from the right) as the start delimiter bit (see [link to relevant documentation]). Figure 3 Then, the receiving device 214 processes the bit sequence following the delimiter bit in a right-to-left direction. Subsequently, the receiving device 214 derives the hop count based on the bits following the delimiter bit in the hop-by-hop bitmap 210. If there are overflow bits in the hop-by-hop bitmap 210, the receiving device 214 can check the value of the overflow bits to determine if any one or more intermediate network devices 204A–N do not have space to add bit values ​​to the hop-by-hop bitmap 210.

[0027] In another embodiment, the order of the bit values ​​inserted into the hop-by-hop bitmap 210 is reversed to right-to-left, instead of left-to-right as described above. For example, the value of the delimiter bit is initialized to "1", and the bits initialized to "0" after the delimiter bit are reversed; that is, the value of the delimiter bit can be initialized to "0", and the remaining bit values ​​after the delimiter bit can be initialized to "1". The value of the overflow bit can also be reversed; that is, the value of the overflow bit is set to "0". In another embodiment, the bits for each hop are not a single bit, but B bits. In this case, the hop-by-hop bitmap 210 may include N•B+1 bits, and each network device inserts / adds B bits at the leftmost position and shifts the remaining B bits one position to the right.

[0028] Figure 3 This illustrates an implementation of the present disclosure using... Figure 2An example of the system updating bit values in the hop-by-hop bitmap 300 in a network protocol. If the exact number of hops along a path through one or more network devices is not predetermined and N is the upper limit of the number of hops, the hop-by-hop bitmap 300 includes a fixed number of bits (e.g., N + 1 bits) within the header of the hop-by-hop bitmap 300 and supports up to N hops along the path. Each network device on the path inserts its own bit value (e.g., b1, b2) into the most significant bit of the hop-by-hop bitmap 300 and shifts the remaining bits one bit position to the right. The hop-by-hop bitmap 300 includes a delimiter bit with a bit value of "1" to indicate the end of the hop-by-hop bitmap 300. The remaining bits in the hop-by-hop bitmap 300 are initialized to "0".

[0029] An example of a sending device sending an information data packet containing the hop-by-hop bitmap 300 along a path through one or more network devices to a receiving device will be described below.

[0030] The sending device sends a data packet to the receiving device. First, the sending device initializes the most significant bit of the hop-by-hop bitmap 300 to "1" used as a delimiter bit and initializes the remaining bits in the hop-by-hop bitmap 300 to "0". Figure 3 The first row of represents the bit values of the hop-by-hop bitmap 300 after initialization by the sending device, where the most significant bit value is "1" (i.e., the leftmost bit), and the remaining bits in the hop-by-hop bitmap 300 are represented as "0". Each intermediate network device on the path checks if there is space in the hop-by-hop bitmap 300 by checking if the rightmost bit is "0". If the rightmost bit of the hop-by-hop bitmap 300 is "0", the network device inserts / adds the bit value of the network device to the leftmost position and shifts the remaining bits one bit position to the right. For example, network device 1 inserts the bit value "b1" into the most significant bit (i.e., the leftmost position) and shifts the remaining bits (i.e., the bit value "1" inserted by the sending device) one bit position to the right, as shown in Figure 3 the second row of. If k is the number of hops, then k < N + 1. After k hops, the data packet reaches the receiving device, and the hop-by-hop bitmap 300 contains k inserted bits and a delimiter bit with a value of "1" after them, as shown in Figure 3 the last row of. Subsequently, the receiving device processes the hop-by-hop bitmap 300 in the data packet by reading the bits in the direction from right to left (i.e., starting from the rightmost bit of Figure 3 the last row). If there is a sequence of zeros at the beginning of the hop-by-hop bitmap 300, the receiving device ignores the sequence of zeros. The receiving device takes the first bit value "1" detected from the right in the last row of the hop-by-hop bitmap 300 as the starting delimiter bit and then processes the bit sequence after the delimiter bit in the direction from right to left. The receiving device detects the position of the delimiter bit and, based on that position, derives the number of hops (k) and the value of each hop.

[0031] Figures 4A to 4B A flowchart illustrating an implementation of this disclosure shows a method for using a hop-by-hop bitmap in a network protocol. In step 402, a sending device sends an information data packet to a receiving device along a path through multiple network devices. The data packet has a data field that includes a hop-by-hop bitmap. The hop-by-hop bitmap includes multiple bit values ​​indicating the current state of each of the multiple network devices. In step 404, each of the multiple network devices checks a specific bit value in the hop-by-hop bitmap to determine if there is space in the hop-by-hop bitmap for adding more bit values. In step 406, if it is determined that there is space in the hop-by-hop bitmap for adding more bit values, each of the multiple network devices adds at least one bit value indicating the current state of the network device to the hop-by-hop bitmap. In step 408, each of the multiple network devices moves the multiple bit values ​​of the hop-by-hop bitmap along a predetermined direction. In step 410, after receiving the data packet, the receiving device processes the multiple bit values ​​of the hop-by-hop bitmap in the opposite direction of the predetermined direction. In a preferred embodiment, there are N network devices among the multiple network devices. The hop-by-hop bitmap may include N+1 bits, with one bit corresponding to each of the N network devices, and an additional bit used as a delimiter bit. In step 412, the receiving device processes the delimiter bit, and then processes each of the N bits following the delimiter bit in the opposite direction of a predetermined direction. In step 414, the receiving device detects the position of the delimiter bit and, based on the detected position, derives the number of network devices from the number of bits following the delimiter bit.

[0032] The data packet may also include an overflow bit, which is set to a predetermined value when a network device in the hop-by-hop bitmap determines that there is no space in the hop-by-hop bitmap to add more bit values. Preferably, the receiving device checks the overflow bit to determine if any network device lacks space to add bit values ​​to the hop-by-hop bitmap.

[0033] In a preferred embodiment, the data field is a telemetry data field. The hop-by-hop bitmap may include data indicating the congestion state of the corresponding network device. The hop-by-hop bitmap may include data indicating the queue state of the corresponding network device. The state of the hop-by-hop bitmap can be used as an effective tool for tracking and monitoring network performance and status. The hop-by-hop bitmap may include data indicating the timestamp associated with the corresponding network device.

[0034] In one implementation, a computer program is provided that, when executed on a computer system, includes instructions for performing all the steps of the above-described method.

[0035] Figures 5A to 5BA flowchart illustrating an implementation of this disclosure shows a method for using a hop-by-hop bitmap containing overflow bits in a network protocol. In step 502, a transmitting device sends an information data packet to a receiving device along a path through multiple network devices. The data packet has a data field that includes a hop-by-hop bitmap. The hop-by-hop bitmap includes multiple bit values ​​indicating the current state of each of the multiple network devices. In step 504, each of the multiple network devices checks a specific bit value in the hop-by-hop bitmap to determine if there is space in the hop-by-hop bitmap for adding more bit values. In step 506, if it is determined that there is space in the hop-by-hop bitmap for adding more bit values, each of the multiple network devices adds at least one bit value indicating the current state of the network device to the hop-by-hop bitmap. In step 508, each of the multiple network devices moves the multiple bit values ​​of the hop-by-hop bitmap along a predetermined direction. In step 510, after receiving the data packet, the receiving device processes the multiple bit values ​​of the hop-by-hop bitmap in the opposite direction of the predetermined direction. The data packet may also include an overflow bit, which is set to a predetermined value when a network device in the hop-by-hop bitmap determines that there is no space in the hop-by-hop bitmap to add more bit values. In step 512, the receiving device checks the overflow bit to determine if any network device does not have space to add bit values ​​to the hop-by-hop bitmap.

[0036] Figure 6 A computer system (e.g., a transmitting device, a receiving device, and / or a network device) is illustrated, in which various architectures and functions of the aforementioned implementations can be realized. As shown, computer system 600 includes at least one processor 604 connected to bus 602. Computer system 600 can be implemented using any suitable protocol. For example, Peripheral Component Interconnect (PCI), PCI Fast, Accelerated Graphics Port (AGP), Hyper Transport, or any other bus or one or more point-to-point communication protocols. Computer system 600 also includes memory 606.

[0037] Control logic (software) and data are stored in memory 606, which may be random-access memory (RAM). In this disclosure, a single semiconductor platform can refer to a single, individual semiconductor-based integrated circuit or chip. It should be noted that the term "single semiconductor platform" can also refer to a multi-chip module with enhanced connectivity, simulating on-chip modules and on-chip operations, achieving significant improvements compared to implementations using traditional central processing units (CPUs) and buses. Of course, various modules can also be installed individually or combined on different semiconductor platforms according to user needs.

[0038] Computer system 600 may also include auxiliary storage 610. Auxiliary storage 610 includes hard disk drives and removable storage drives, such as floppy disk drives, magnetic tape drives, optical disk drives, digital versatile disk (DVD) drives, recording devices, universal serial bus (USB) flash memory. The removable storage drive reads and writes content from at least one of the removable storage units in a well-known manner.

[0039] Computer programs or computer control logic algorithms may be stored in at least one of the memory 606 and the auxiliary memory 610. When these computer programs are executed, they enable the computer system 600 to perform the various functions described above. The memory 606, the auxiliary memory 610, and any other storage are possible examples of computer-readable media.

[0040] In one implementation, the architecture and functionality described in the preceding figures can be implemented within the context of processor 604, a graphics processor coupled to communication interface 612, an integrated circuit (not shown) capable of simultaneously possessing at least some of the functions of processor 604 and graphics processor, and a chipset (i.e., a set of integrated circuits designed to function as units for performing related functions and sold, etc.).

[0041] Furthermore, the architecture and functions described in the previous figures can also be implemented in the context of general-purpose computer systems, circuit board systems, game console systems dedicated to entertainment, and special-purpose systems. For example, computer system 600 can be a desktop computer, a laptop computer, a server, a workstation, a game console, or an embedded system.

[0042] In addition, the computer system 600 can also be various other devices, including but not limited to personal digital assistant (PDA) devices, mobile phone devices, smartphones, televisions, etc. Furthermore, although not shown, the computer system 600 can be coupled to a network (e.g., telecommunications network, local area network (LAN), wireless network, wide area network (WAN) such as the Internet, peer-to-peer network, cable network, etc.) via I / O interface 608 for communication.

[0043] It should be understood that the arrangement of components shown in the described figures is exemplary and other arrangements are possible. It should also be understood that the various system components (and modules) defined by the claims described below and shown in the various block diagrams represent components in some systems configured according to the subject matter disclosed herein. For example, one or more of these system components (and devices) may be implemented wholly or partially by at least some of the components in the arrangement shown in the described figures.

[0044] Furthermore, while at least one of these components is implemented at least partially as an electronic hardware component and thus constitutes a machine, the other components may be implemented in software that constitutes a machine, hardware, or a combination of software and hardware when executed in an environment.

[0045] Although the present disclosure and its advantages have been described in detail, it should be understood that various changes, substitutions and alterations may be made herein without departing from the scope and spirit of the disclosure as defined by the appended claims.

Claims

1. A method, characterized in that, Includes the following steps: Information data packets (206) are received from the transmitting device (202) along a path passing through multiple network devices (204A–N), wherein the data packets have a data field (208) including a hop-by-hop bitmap (210, 300) including multiple bit values ​​(212A–N+1) for indicating the current state of each of the multiple network devices; Examine specific bit values ​​in the hop-by-hop bitmap to determine if there is space in the hop-by-hop bitmap to add more bit values; When it is determined that there is space in the hop-by-hop bitmap to add more bit values, at least one bit value indicating the current state of the network device is added to the hop-by-hop bitmap. Move the plurality of bit values ​​of the hop-by-hop bitmap along a predetermined direction; In this process, after receiving the data packet, the receiving device (214) processes the plurality of bit values ​​of the hop-by-hop bitmap in the opposite direction to the predetermined direction.

2. The method according to claim 1, characterized in that, There are N network devices among the multiple network devices.

3. The method according to claim 2, characterized in that, The hop-by-hop bitmap consists of N+1 bits.

4. The method according to claim 3, characterized in that, The hop-by-hop bitmap includes N bits and an additional bit used as a delimiter bit, with each of the N network devices corresponding to one bit in the N bits.

5. The method according to claim 4, characterized in that, The receiving device processes the delimiter bit, and then processes each of the N bits following the delimiter bit in the opposite direction of the predetermined direction.

6. The method according to claim 5, characterized in that, The receiving device detects the position of the delimiter bit and, based on the detected position, derives the number of network devices from the number of bits following the delimiter bit.

7. The method according to claim 1, characterized in that, The data packet also includes an overflow bit, which is set to a predetermined value when the network device in the hop-by-hop bitmap determines that there is no space in the hop-by-hop bitmap to add more bit values.

8. The method according to claim 7, characterized in that, The receiving device checks the overflow bit to determine if any network device does not have space to add a bit value to the hop-by-hop bitmap.

9. The method according to claim 1, characterized in that, The data field is a telemetry data field.

10. The method according to claim 1, characterized in that, The hop-by-hop bitmap includes data indicating the congestion status of the corresponding network devices.

11. The method according to claim 1, characterized in that, The hop-by-hop bitmap includes data indicating the queue status of the corresponding network device.

12. The method according to claim 1, characterized in that, The hop-by-hop bitmap includes data indicating timestamps associated with the corresponding network devices.

13. A system (200), characterized in that, Includes means for performing all steps of the method according to any one of the above-described method claims.

14. A computer program, characterized in that, The method includes instructions that, when the computer program is executed on a computer system, are used to perform all the steps of the method according to any one of the preceding method claims.