Packet forwarding methods, devices, network equipment, and storage media
By buffering traffic packets into scheduling queues and sending composite packets with shared headers, the method addresses the bandwidth inefficiency caused by SRv6 headers, enhancing network efficiency through optimized header sharing.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- NEW H3C TECH CO LTD
- Filing Date
- 2023-09-26
- Publication Date
- 2026-05-26
AI Technical Summary
The long header of SRv6 packets in deterministic networks consumes a significant portion of bandwidth, reducing the available bandwidth utilization rate in CSQF forwarding mechanisms.
A packet forwarding method that buffers traffic packets into scheduling queues and sends composite packets containing a shared IPv6 header and SRH, along with multiple traffic packets, thereby reducing the need for individual encapsulation of each packet, using an extension header to include packet lengths and optimizing bandwidth usage.
This approach enhances bandwidth utilization by minimizing the bandwidth occupied by IPv6 and SRH headers, allowing multiple packets to share a single header, thus improving network efficiency.
Smart Images

Figure 2026516890000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of network communication technologies, and particularly to packet transfer methods, devices, network devices, and storage media.
Background Art
[0002] With the development of industrial Internet and metaverse, remote interactive services have put forward more stringent requirements for all of network delay, jitter, and packet loss. Deterministic network technology has become a wide-area network solution to meet the demand.
[0003] A deterministic network is a network that has the ability to provide deterministic service guarantee for the services to be transmitted, and can ensure indicators such as deterministic delay, delay jitter, and packet loss rate of the services. Deterministic network technology is a new quality of service (QoS) guarantee technology.
[0004] Currently, a deterministic network can be realized based on the cyclic specific queuing and forwarding (CSQF) mechanism. A software-defined network (SDN) controller can plan the path for deterministic traffic packets to be forwarded in a deterministic network, and define the CSQF transfer resources in network devices at each hop in the deterministic network, so that the network devices forward packets according to the defined CSQF transfer resources.
[0005] In the CSQF mechanism, packets transmitted in each cycle are all SRv6 packets. However, since the header of the SRv6 packet is long, a large amount of CSQF transfer resources are used for the transfer of the SRv6 packet header, which has a serious impact on the bandwidth utilization rate of CSQF transfer. [Overview of the project]
[0006] The embodiments of the present invention aim to provide a packet forwarding method, apparatus, network equipment, and storage medium for improving the bandwidth utilization rate of CSQF forwarding. The specific technical means are as follows.
[0007] As a first embodiment, an embodiment of the present invention provides a packet forwarding method applicable to a first network device. The packet forwarding method is Receiving traffic packets sent from the user's device, The traffic packets are buffered into a scheduling queue corresponding to the deterministic flow to which the traffic packets belong. The system includes, upon reaching the scheduling cycle of the scheduling queue, sending a composite packet to the second network device that includes an IPv6 header, a segment routing header (SRH), and multiple traffic packets in the scheduling queue.
[0008] In one possible embodiment, the composite packet further includes an extension header, the extension header including the packet length of each traffic packet in the composite packet.
[0009] In one possible embodiment, the SRH includes a next header field, which indicates that the next header following the SRH is the extended header.
[0010] In one possible embodiment, the size of the composite packet is less than or equal to the maximum transmission unit MTU.
[0011] In one possible embodiment, the extended header further includes a next header field and an extended header length field. The next header field and the extended header length field each occupy 8 bits. The packet length of each traffic packet in the composite packet included in the extended header occupies 16 bits. If the total number of bits occupied by the next header field, the extended header length field, and each packet length included in the extended header is not an integer multiple of 32 bits, the extended header further includes an end field, the end field occupying 16 bits, and its value is 0.
[0012] As a second embodiment, the present invention provides a packet forwarding method applicable to a third network device. The packet forwarding method is A packet receiving a composite packet containing an IPv6 header, a segment routing header (SRH), and multiple traffic packets belonging to the same deterministic flow, This includes forwarding the aforementioned multiple traffic packets to the user's device.
[0013] In one possible embodiment, the composite packet further includes an extension header, the extension header includes the packet length of each traffic packet in the composite packet, After receiving the composite packet, the packet forwarding method The further includes obtaining the plurality of traffic packets from the composite packet based on the packet length of each traffic packet contained in the extended header.
[0014] In one possible embodiment, the SRH includes a next header field, which indicates that the next header following the SRH is the extended header.
[0015] In one possible embodiment, the size of the composite packet is less than or equal to the maximum transmission unit MTU.
[0016] In one possible embodiment, the extended header further includes a next header field and an extended header length field. The next header field and the extended header length field each occupy 8 bits. The packet length of each traffic packet in the composite packet included in the extended header occupies 16 bits. If the total number of bits occupied by the next header field, the extended header length field, and each packet length included in the extended header is not an integer multiple of 32 bits, the extended header further includes an end field, the end field occupying 16 bits, and its value is 0.
[0017] As a third embodiment of the present invention, an embodiment of the present invention provides a packet forwarding device applicable to a first network device. The packet forwarding device is A receiving module for receiving traffic packets sent from user-side equipment, A buffering module for buffering the traffic packets into a scheduling queue corresponding to the deterministic flow to which the traffic packets belong, The system includes a transmission module for transmitting a composite packet containing an IPv6 header, a segment routing header (SRH), and multiple traffic packets in the scheduling queue to a second network device when the scheduling cycle of the scheduling queue is reached.
[0018] In one possible embodiment, the composite packet further includes an extension header, the extension header including the packet length of each traffic packet in the composite packet.
[0019] In one possible embodiment, the SRH includes a next header field, which indicates that the next header following the SRH is the extended header.
[0020] In one possible embodiment, the size of the composite packet is less than or equal to the maximum transmission unit MTU.
[0021] In one possible embodiment, the extended header further includes a next header field and an extended header length field, The next header field and the extended header length field each occupy 8 bits, The packet length of each traffic packet in the composite packet included in the extended header occupies 16 bits, If the total number of bits occupied by the next header field, the extended header length field, and each packet length included in the extended header is not an integer multiple of 32 bits, the extended header further includes an end field, the end field occupies 16 bits, and its value is 0.
[0022] As a fourth aspect, an embodiment of the present invention provides a packet transfer device applied to a third network device. The packet transfer device includes a receiving module for receiving a composite packet including an IPv6 header, a segment routing header SRH, and a plurality of traffic packets belonging to the same deterministic flow, a transfer module for transferring the plurality of traffic packets to a user-side device.
[0023] In one possible embodiment, the composite packet further includes an extended header, and the extended header includes the packet length of each traffic packet in the composite packet, The packet transfer device further includes an acquisition module for acquiring the plurality of traffic packets from the composite packet based on the packet length of each traffic packet included in the extended header.
[0024] In one possible embodiment, the SRH includes a next header field, and the next header field indicates that the next header after the SRH is the extended header.
[0025] In one possible embodiment, the size of the composite packet is less than or equal to the maximum transmission unit MTU.
[0026] In one possible embodiment, the extended header further includes a next header field and an extended header length field. The next header field and the extended header length field each occupy 8 bits. The packet length of each traffic packet in the composite packet included in the extended header occupies 16 bits. If the total number of bits occupied by the next header field, the extended header length field, and each packet length included in the extended header is not an integer multiple of 32 bits, the extended header further includes an end field, the end field occupying 16 bits, and its value is 0.
[0027] As a fifth embodiment, the present invention provides a network device, the network device is Processor and Transmitter and receiver, The system comprises a machine-readable storage medium in which machine-executable instructions that can be executed by the processor are stored, The machine-executable instruction is given to the processor, Receiving traffic packets sent from the user's device, The traffic packets are buffered into a scheduling queue corresponding to the deterministic flow to which the traffic packets belong. When the scheduling cycle of the scheduling queue is reached, the system instructs the second network device to send a composite packet containing an IPv6 header, a segment routing header (SRH), and multiple traffic packets in the scheduling queue.
[0028] In one possible embodiment, the composite packet further includes an extension header, the extension header including the packet length of each traffic packet in the composite packet.
[0029] In one possible embodiment, the SRH includes a next header field, which indicates that the next header following the SRH is the extended header.
[0030] In one possible embodiment, the size of the composite packet is less than or equal to the maximum transmission unit MTU.
[0031] In one possible embodiment, the extended header further includes a next header field and an extended header length field. The next header field and the extended header length field each occupy 8 bits. The packet length of each traffic packet in the composite packet included in the extended header occupies 16 bits. If the total number of bits occupied by the next header field, the extended header length field, and each packet length included in the extended header is not an integer multiple of 32 bits, the extended header further includes an end field, the end field occupying 16 bits, and its value is 0.
[0032] As a sixth embodiment, an embodiment of the present invention provides a network device, the network device is Processor and Transmitter and receiver, The system comprises a machine-readable storage medium in which machine-executable instructions that can be executed by the processor are stored, The machine-executable instruction is given to the processor, A packet receiving a composite packet containing an IPv6 header, a segment routing header (SRH), and multiple traffic packets belonging to the same deterministic flow, The system is configured to forward the aforementioned multiple traffic packets to the user's device.
[0033] In one possible embodiment, the composite packet further includes an extension header, the extension header includes the packet length of each traffic packet in the composite packet, The machine-executable instruction is given to the processor, Based on the packet length of each traffic packet included in the extended header, the system further performs the task of obtaining the multiple traffic packets from the composite packet.
[0034] In one possible embodiment, the SRH includes a next header field, which indicates that the next header following the SRH is the extended header.
[0035] In one possible embodiment, the size of the composite packet is less than or equal to the maximum transmission unit MTU.
[0036] In one possible embodiment, the extended header further includes a next header field and an extended header length field. The next header field and the extended header length field each occupy 8 bits. The packet length of each traffic packet in the composite packet included in the extended header occupies 16 bits. If the total number of bits occupied by the next header field, the extended header length field, and each packet length included in the extended header is not an integer multiple of 32 bits, the extended header further includes an end field, the end field occupying 16 bits, and its value is 0.
[0037] As a seventh aspect, an embodiment of the present invention provides a machine-readable storage medium in which machine-executable instructions are stored, and when called and executed by a processor, the machine-executable instructions cause the processor to implement the method according to the first or second aspect.
[0038] As an eighth embodiment, an embodiment of the present invention provides a computer program product which causes the processor to implement the method according to the first or second embodiment.
[0039] According to the above technical means, the first network device buffers traffic packets into a scheduling queue corresponding to the deterministic flow to which the traffic packets belong. Furthermore, when the scheduling cycle of the scheduling queue is reached, it can send a composite packet containing the IPv6 header, SRH, and multiple traffic packets in the scheduling queue to the second network device. In this way, it is no longer necessary to encapsulate the IPv6 header and SRH for each traffic packet, and multiple traffic packets can share a single IPv6 header and a single SRH. As a result, the bandwidth occupied by the IPv6 header and SRH is reduced, and bandwidth utilization is improved. [Brief explanation of the drawing]
[0040] The drawings described herein are for further understanding of the present invention and constitute part of the present invention. Exemplary embodiments and their descriptions are for illustrative purposes only and do not constitute an inappropriate limitation to the present invention.
[0041] [Figure 1] Figure 1 is a schematic diagram of the deterministic flow transfer mechanism provided in an embodiment of the present invention. [Figure 2] Figure 2 is a schematic diagram of the network architecture of a deterministic network provided in an embodiment of the present invention. [Figure 3] Figure 3 is a schematic diagram of the configuration of an SRv6 packet provided in an embodiment of the present invention. [Figure 4] Figure 4 is a schematic flowchart of the packet forwarding method provided in an embodiment of the present invention. [Figure 5]Figure 5 is a schematic diagram of the configuration of the extended header in an SRv6 packet provided in an embodiment of the present invention. [Figure 6] Figure 6 is a schematic flow diagram of another packet forwarding method provided in an embodiment of the present invention. [Figure 7] Figure 7 is an exemplary schematic diagram of the process by which the PE1 device provided in an embodiment of the present invention transmits a composite packet. [Figure 8] Figure 8 is an illustrative schematic diagram of the process by which the PE2 device provided in an embodiment of the present invention receives a composite packet. [Figure 9] Figure 9 is a schematic diagram of the structure of a packet forwarding device provided in an embodiment of the present invention. [Figure 10] Figure 10 is a schematic diagram of the structure of another packet forwarding device provided in an embodiment of the present invention. [Figure 11] Figure 11 is a schematic diagram of the structure of a network device provided in an embodiment of the present invention. [Figure 12] Figure 12 is a schematic diagram of the structure of another network device provided in an embodiment of the present invention. [Modes for carrying out the invention]
[0042] The present invention will be described in more detail below with reference to the drawings, with reference to examples, in order to further clarify its objectives, technical proposals, and advantages. Clearly, the examples described are only some, and not all, examples of the present invention. All other examples that can be obtained by those skilled in the art based on the examples of the present invention are all within the scope of protection of the present invention.
[0043] For the sake of understanding, we will first explain the relevant concepts related to the embodiments of the present invention.
[0044] In a deterministic network, each network device divides each period T into multiple time slices of the same and consecutive length, and each time slice can be called a cycle. For example, T can be divided into N time slices, which are called Cycle 1 to Cycle N, and the value of N can be 10, 100, or 1000, etc., but can be set according to the actual situation.
[0045] Deterministic flows of a specific deterministic network protocol (DIP) are forwarded only within a defined time slice. For example, deterministic flow 1 is forwarded in Cycle 1 of each period T, deterministic flow 2 is forwarded in Cycle 3 of each period T, deterministic flow 3 is forwarded in Cycle 3 of each period T, and so on. Since each deterministic flow corresponds to a time slice determined at each network device along the forwarding path, if a packet reaches a network device later than the transmission time of the current period T's time slice, the packet is forwarded within the next period T's time slice. Therefore, packet forwarding delay jitter is limited to a delay range of 2T, meaning that forwarding delay jitter is limited.
[0046] The jitter of each network device on the forwarding path of a deterministic flow does not increase the delay jitter of any subsequent network device; in other words, jitter does not depend on the number of network devices on the forwarding path. However, as the number of network devices increases, the total delay of packets on the forwarding path increases.
[0047] Since the above period T is the time slot width of the predefined deterministic flow scheduling queue, the delay jitter range for the entire transmission path is 0 to 2T. For example, when T = 10us, the worst-case delay jitter is 20us and does not depend on the length of the transmission path or the number of network devices.
[0048] As shown in Figure 1, we assume that X, Y, Z, and W are four network devices connected consecutively on the transmission path. The cycle transmission period T of each network device consists of four cycles: 0, 1, 2, and 3, with each cycle having a duration of 10us. In other words, the network devices transmit data packets in a 10us cycle mode. After receiving a packet, each network device transmits the packet in a pre-configured cycle corresponding to the deterministic flow to which the packet belongs. In other words, each network device has a pre-configured mapping relationship between deterministic flows and cycles.
[0049] For example, device X sends a packet in Cycle 0, and that packet is transmitted over the link between device X and device Y.
[0050] After receiving the packet, device Y transmits it in Cycle 2, and the packet is transmitted over the link between device Y and device Z.
[0051] After receiving the packet, device Z transmits the packet in its own Cycle 1, and the packet is transmitted over the link between device Z and device W, allowing device W to receive the packet.
[0052] In the above process, because it is constrained by a stable cycle mapping relationship, once the transmission period of the packet at X is determined, the reception period of the packet at W is also determined. The packet delay jitter of the deterministic flow in each transmission from X to W can be suppressed to within 10 μs.
[0053] In a deterministic network, the clocks of each network device can be synchronized, and Figure 1 illustrates a case where there are slight differences in the clocks of each network device.
[0054] As shown in Figure 2, Figure 2 is a schematic diagram of the network architecture of a deterministic network, using a deterministic network between a Human-Machine Interface (HMI) and robotics as an example. This deterministic network includes service provider network edge (PE) equipment and P equipment, with the service provider (P) equipment being the network-side core equipment. In Figure 2, both the HMI and robotics are user-side equipment.
[0055] Figure 2 shows PE1, PE2, and P1-P4 as examples, but the actual number of each device is not limited to these.
[0056] Here, PE devices are used to enable packet forwarding between user-side devices and network-side devices in a deterministic network.
[0057] The SDN controller can pre-define the SRv6 forwarding path for traffic packets entering the deterministic network from user-side equipment to PE devices, and further plan forwarding resources for network devices at each hop along the forwarding path, so that each network device can forward traffic packets of the deterministic flow according to the planned forwarding resources, which specifically include the next hop, output interface, and cycle.
[0058] Here, traffic packets entering the deterministic network from user-side equipment refer to packets transmitted by user-side equipment, encapsulated in Ethernet, that have a demand for deterministic services, i.e., traffic packets of a deterministic flow.
[0059] Deterministic flows are traffic flows that are sensitive to latency, while non-deterministic flows are traffic flows that are not sensitive to latency. For example, a non-deterministic flow may be a flow to which a best-effort forwarding policy applies.
[0060] PE devices have a user-side interface dedicated to deterministic flows and do not share it with non-deterministic flows. If deterministic and non-deterministic flows need to share a user-side interface, they can be distinguished using Time Sensitive Network (TSN) technology.
[0061] After the PE device receives traffic packets transmitted from the user-side device via the user-side interface, the PE device forwards the traffic packets to the next network device via the network-side interface according to the SRv6 forwarding path and specified scheduling cycle planned by the SDN, thereby transmitting the traffic packets in a deterministic network. Here, what is transmitted in the deterministic network is an SRv6 packet encapsulated in Ethernet with a time synchronization mechanism. In other words, after the PE device receives traffic packets transmitted from the user-side device, it encapsulates those traffic packets in an SRv6 packet.
[0062] As shown in Figure 3, Figure 3 illustrates the format of an SRv6 packet. An SRv6 packet includes a new Internet Protocol Version 6 (IPv6) basic header, an SRH, and an original packet, which is a traffic packet sent from the user's device.
[0063] Here, in the embodiment of the present invention, the novel IPv6 basic header is abbreviated as the IPv6 header. The IPv6 header includes the version number, traffic class, flow label, payload length, next header, hop limit, source address (SA), and destination address (DA), and the lengths of both the source address and destination address may be 128 bits. Here, the value of the Next header being 43 indicates that the Next header is a routing extension header.
[0064] SRH includes the following: Next Header (Next Hdr): It has a length of 8 bits and is used to identify the type of next header. Extended Header Length (Hdr Ext Len): The length is 8 bits, indicating the length of the SRH header in units of 8 bytes, excluding the first 8 bytes. Routing Type: The length is 8 bits, the value is 4, and it indicates that SRH is being carried. Segments Left (SL): This SL is 8 bits long and indicates the number of the next SID to search for. Its initial value is n-1, where n is the number of SIDs encapsulated in the SRH. The value of SL decreases by 1 each time an endpoint node is passed. Last Entry: This is 8 bits long and represents the number of the first SID in the SRH's SID list, i.e., the SID number of the last hop on the packet forwarding path. Flags: These are 8 bits long and contain flag information. Tag: A 16-bit tag used to identify groups of packets that share the same characteristics. Segment List: This is a list of SIDs, where nodes on the packet forwarding path are arranged from farthest to nearest. That is, Segment List [0] shows the last SID on the path, Segment List [1] shows the second to last SID on the path, and so on. Each SID may be a 128-bit IPv6 address. Optional Type Length Value objects (variable): These are optional type length value objects.
[0065] In Figure 3, the original packet is a traffic packet sent from the user's device.
[0066] In a deterministic network, the time synchronization mechanism for each network device can utilize the Precision Time Protocol (PTP), an out-of-band time synchronization network, or synchronous Ethernet, among others.
[0067] The network-side interface of the PE device receives SRv6 packets forwarded from the P device, transmits the received SRv6 packets along the SRv6 forwarding path to the destination user-side interface, and can further transmit traffic packets to the user-side device via the user-side interface based on a first-in, first-out scheduling mechanism.
[0068] P devices primarily handle packet forwarding between network-side devices. P devices forward SRv6 packets received via the input interface along the SRv6 forwarding path at predetermined scheduling intervals.
[0069] In a deterministic network architecture, all packets transmitted by network equipment in each cycle are SRv6 packets. However, because the header of an SRv6 packet is long, statistics show that with a 100GE bandwidth, when the CSQF forwarding mechanism is used, only about 80% of the bandwidth is available for forwarding traffic packets, and the remaining approximately 20% of the bandwidth is used entirely for forwarding the SRv6 packet header.
[0070] An embodiment of the present invention provides a packet forwarding method applicable to a first network device in order to improve bandwidth utilization. The first network device is the leading node of an SRv6 network and may be, for example, PE1 in Figure 2. As shown in Figure 4, the packet forwarding method includes the following: S401 receives traffic packets sent from the user's device. S402 buffers traffic packets into a scheduling queue corresponding to the deterministic flow to which the traffic packets belong. Here, the first network device, after receiving a packet, determines the corresponding Cycle by searching its routing table, and then buffers the packet in the scheduling queue corresponding to that Cycle. When S403 reaches the scheduling cycle of the scheduling queue, it sends a composite packet to the second network device that includes the IPv6 header, the SRH, and multiple traffic packets in the scheduling queue.
[0071] Each scheduling queue corresponding to a deterministic flow corresponds to one scheduling period, and this scheduling period is a time slice corresponding to a Cycle. The first network device forwards the packets buffered in each scheduling queue to the second network device according to the scheduling period of each scheduling queue.
[0072] In an embodiment of the present invention, when the scheduling cycle of one scheduling queue is reached, the first network device can encapsulate the buffered packets in the scheduling queue into a composite packet and transmit the composite packet to the second network device. For example, the second network device is an intermediate node on the traffic packet forwarding path and may be, for example, device P1 in Figure 2.
[0073] Here, each traffic packet buffered in the same scheduling queue has the same forwarding path in the SRv6 network; that is, these traffic packets are forwarded from the same source PE to the same destination PE. Therefore, when encapsulating the SRv6 header for each traffic packet in the scheduling queue, the encapsulated SRv6 header for each traffic packet is usually the same. For this reason, in the embodiment of the present invention, it is possible to encapsulate multiple traffic packets into a single composite packet, thereby allowing multiple traffic packets to share the IPv6 header and SRH.
[0074] According to the above method, the first network device buffers traffic packets into a scheduling queue corresponding to the deterministic flow to which the traffic packets belong. Furthermore, when the scheduling cycle of the scheduling queue is reached, it can send a composite packet containing the IPv6 header, SRH, and multiple traffic packets in the scheduling queue to the second network device. In this way, it is no longer necessary to encapsulate the IPv6 header and SRH for each traffic packet, and multiple traffic packets can share a single IPv6 header and a single SRH. As a result, the bandwidth occupied by the IPv6 header and SRH is reduced, and bandwidth utilization is improved.
[0075] The size of the composite packet is less than or equal to the Maximum Transmission Unit (MTU). For example, the MTU may be 9KB. When the first network device encapsulates each traffic packet included in a scheduling queue into a composite packet, it can sequentially encapsulate the traffic packets in the composite packet according to the order in which the traffic packets enter the scheduling queue. If, after encapsulating a traffic packet, it determines that the size of the composite packet exceeds the MTU, it stops encapsulating. Then, it constructs the next composite packet and encapsulates the traffic packet and subsequent traffic packets in the scheduling queue into the next composite packet.
[0076] In some embodiments of the present invention, the composite packet further includes an extension header, the extension header includes the packet length of each traffic packet in the composite packet.
[0077] Furthermore, the SRH includes a next header field, which indicates that the next header following the SRH is the aforementioned extended header.
[0078] Specifically, the extension header in question is a CSQF aggregation extension header, abbreviated as CSQF_AGG. For example, the Next Header field in the SRH in Figure 3 can be defined as CSQF_AGG. In other words, in the embodiment of the present invention, it is possible to add one CSQF aggregation extension header to an adjacent position after the SRH.
[0079] The structure of the extension header is shown in Figure 5. The extension header includes a Next Header (Next Hdr) field and an Extended Header Length (Hdr Ext Len) field, with each of the Next Header and Extended Header Length fields occupying 8 bits.
[0080] The packet length of each traffic packet in the composite packet included in the extended header occupies 16 bits.
[0081] In a composite packet, each traffic packet is a single payload, and the length of each packet included in the extension header is the length of each payload. For example, Figure 3 illustrates the lengths of n payloads, which are payload 1 Len (length of payload 1), payload 2 Len (length of payload 2), payload 3 Len (length of payload 3), ..., payload n Len (length of payload n).
[0082] If the total number of bits occupied by the next header field, extended header length field, and packet length included in the extended header is not an integer multiple of 32 bits, the extended header further includes an end field, which occupies 16 bits and has a value of 0. For example, after payload n Len in Figure 5, it further includes an End field with a value of 0.
[0083] If the total number of bits occupied by the next header field, extended header length field, and packet length included in the extended header is an integer multiple of 32 bits, the extended header is understood to not include an end field.
[0084] Based on the same inventive concept, embodiments of the present invention further provide a packet forwarding method applicable to a third network device. The third network device is the tail node of an SRv6 network, and may be, for example, PE2 in Figure 2. As shown in Figure 6, the packet forwarding method includes the following: S601 receives a composite packet containing an IPv6 header, SRH, and multiple traffic packets. Here, multiple traffic packets belong to the same deterministic flow, meaning that multiple traffic packets share the same forwarding path in the SRv6 network. S602 forwards multiple traffic packets to the user's device.
[0085] According to the method described above, the third network device can receive a composite packet containing an IPv6 header, SRH, and multiple traffic packets. In other words, multiple traffic packets can share one IPv6 header and one SRH, and furthermore, the third network device can forward the multiple traffic packets contained in the composite packet to the user-side device, thereby not preventing the multiple traffic packets from being successfully forwarded to the user-side device. In this way, it becomes unnecessary to encapsulate an IPv6 header and SRH for each traffic packet. As a result, the bandwidth occupied by the IPv6 header and SRH is reduced, and bandwidth utilization is improved.
[0086] In an embodiment of the present invention, the composite packet further includes an extension header, which includes the packet length of each traffic packet in the composite packet. Based on this, after receiving the composite packet, the third network device can obtain multiple traffic packets from the composite packet based on the packet length of each traffic packet included in the extension header. The specific format of the extension header can be found in the related descriptions of the above embodiment, but is omitted here.
[0087] Referring to Figure 5, the third network device can obtain traffic packet 1 by reading the content with a length of payload 1 Len from the original packet after the extended header, based on payload 1 Len. Then, by continuing to read the content with a length of payload 2 Len, it can obtain traffic packet 2. This process continues in the same manner until traffic packet n is obtained.
[0088] When a third network device acquires a traffic packet from a composite packet, it can determine whether it has acquired the entire packet length contained in the extension header based on the value of the HDr Ext Len field in the extension header. If the acquired packet length reaches the number of bits occupied by the extension header that is equal to the value of the HDr Ext Len field, it can be determined that the entire packet length contained in the extension header has been acquired. Preferably, if the end field contained in the extension header is read, it can also be determined that the entire packet length contained in the extension header has been acquired.
[0089] The packet forwarding method provided in the embodiment of the present invention will be described below with reference to specific examples. As shown in Figure 7, the PE1 device includes five scheduling queues, each of which is a CSQF queue corresponding to Cycle 0 to 4.
[0090] Here, we assume that when Cycle 0 is reached, five traffic packets, namely Packets 1-5, are buffered in the CSQF queue corresponding to Cycle 0. In this case, the PE1 device encapsulates Packets 1-5 into Composite Packet 1 and transmits this Composite Packet 1. Composite Packet 1 includes an IPv6 header, SRH, a CSQF aggregation extension header, and a payload, the payload containing Packets 1-5.
[0091] Furthermore, buffering Packets 1-5 in the same CSQF queue means that Packets 1-5 are forwarded along the same path from the same source PE device to the same destination PE device. Therefore, if PE1 device encapsulates SRv6 headers individually for Packets 1-5, it is necessary to encapsulate the same SRv6 header for Packets 1-5. On the other hand, in the embodiment of the present invention, Packets 1-5 can be encapsulated in a single composite packet, thereby allowing Packets 1-5 to share a single SRv6 header. The source IP addresses and destination IP addresses of Packets 1-5 may be different. In other words, the source user device and destination user device corresponding to Packets 1-5 may be different, but since the IP address of the source user device and the IP address of the destination user device are both encapsulated in the original packets (Packets 1-5), encapsulating Packets 1-5 in a single composite packet does not prevent Packets 1-5 from being forwarded normally.
[0092] When Cycle 1 is reached, it is assumed that four traffic packets, namely Packets 1-4, are buffered in the CSQF queue corresponding to Cycle 1. In this case, the PE1 device encapsulates Packets 1-4 into composite packet 2 and transmits this composite packet 2. Composite packet 2 includes an IPv6 header, SRH, a CSQF aggregation extension header, and a payload, the payload containing Packets 1-4.
[0093] When Cycle 2 is reached, it is assumed that six traffic packets, namely Packets 1-6, are buffered in the CSQF queue corresponding to Cycle 2. In this case, the PE1 device encapsulates Packets 1-6 into composite packet 3 and transmits this composite packet 3. Composite packet 3 includes an IPv6 header, SRH, a CSQF aggregation extension header, and a payload, the payload containing Packets 1-6.
[0094] When Cycle 3 is reached, it is assumed that seven traffic packets, namely Packets 1-7, are buffered in the CSQF queue corresponding to Cycle 3. In this case, the PE1 device encapsulates Packets 1-7 into a composite packet 4 and transmits this composite packet 4. Composite packet 4 includes an IPv6 header, SRH, a CSQF aggregation extension header, and a payload, the payload containing Packets 1-7.
[0095] Packets are not buffered in the CSQF queue corresponding to Cycle 4.
[0096] The above composite packets 1-4 are forwarded along their respective forwarding paths. In the process of an intermediate node forwarding composite packets 1-4, it is not necessary to identify the CSQF aggregation extension header in the composite packets.
[0097] Assume that all of the composite packets 1-4 are forwarded to the PE2 device. As shown in Figure 8, the PE2 device can receive composite packets 1-4.
[0098] The PE2 device can retrieve Packets 1 through 5 from composite packet 1 based on the CSQF aggregation extension header in composite packet 1 and place them into a single receive queue.
[0099] The PE2 device can retrieve Packets 1-4 from composite packet 2 based on the CSQF aggregation extension header in composite packet 2 and place them into a single receive queue.
[0100] The PE2 device can retrieve Packets 1-6 from composite packet 3 based on the CSQF aggregation extension header in composite packet 3 and place them into a single receive queue.
[0101] The PE2 device can retrieve Packets 1-7 from composite packet 4 based on the CSQF aggregation extension header in composite packet 4 and place them into a single receive queue.
[0102] The PE2 device can forward each traffic packet to the traffic-side device based on the header of each traffic packet.
[0103] According to the above method, the occupancy of bandwidth resources by the SRv6 header in the CSQF forwarding process can be reduced, and bandwidth utilization can be improved.
[0104] Corresponding to the embodiments of the above method, the embodiment of the present invention further provides a packet forwarding device applicable to a first network device. As shown in Figure 9, the packet forwarding device is A receiving module 901 for receiving traffic packets sent from user-side equipment, A buffering module 902 for buffering traffic packets into a scheduling queue corresponding to the deterministic flow to which the traffic packets belong, The system includes a transmission module 903 for sending a composite packet containing an IPv6 header, a segment routing header (SRH), and multiple traffic packets in the scheduling queue to a second network device when the scheduling cycle is reached.
[0105] Preferably, the composite packet further includes an extension header, which includes the packet length of each traffic packet in the composite packet.
[0106] Preferably, the SRH includes a next header field, which indicates that the next header following the SRH is an extended header.
[0107] Preferably, the size of the composite packet is less than or equal to the maximum transmission unit MTU.
[0108] Preferably, the extended header further includes a next header field and an extended header length field. The next header field and the extended header length field each occupy 8 bits. In the composite packet included in the extended header, the packet length of each traffic packet occupies 16 bits. If the total number of bits occupied by the next header field, extended header length field, and each packet length included in the extended header is not an integer multiple of 32 bits, the extended header further includes an end field, which occupies 16 bits and has a value of 0.
[0109] Corresponding to the embodiments of the above method, the embodiment of the present invention further provides a packet forwarding device applicable to a third network device. As shown in Figure 10, the packet forwarding device is A receiving module 1001 for receiving a composite packet containing an IPv6 header, a segment routing header SRH, and multiple traffic packets belonging to the same deterministic flow, It includes a forwarding module 1002 for forwarding multiple traffic packets to the user's device.
[0110] Preferably, the composite packet further includes an extension header, the extension header includes the packet length of each traffic packet in the composite packet. The packet forwarding device is It further includes an acquisition module for obtaining multiple traffic packets from a composite packet based on the packet length of each traffic packet contained in the extended header.
[0111] Preferably, the SRH includes a next header field, which indicates that the next header following the SRH is an extended header.
[0112] Preferably, the size of the composite packet is less than or equal to the maximum transmission unit MTU.
[0113] Preferably, the extended header further includes a next header field and an extended header length field. The next header field and the extended header length field each occupy 8 bits. In the composite packet included in the extended header, the packet length of each traffic packet occupies 16 bits. If the total number of bits occupied by the next header field, extended header length field, and each packet length included in the extended header is not an integer multiple of 32 bits, the extended header further includes an end field, which occupies 16 bits and has a value of 0.
[0114] Corresponding to the embodiments of the above method, the embodiment of the present invention further provides a network device. As shown in Figure 11, the network device is Processor 1101 and, Transmitter / receiver 1104 and, The system comprises a machine-readable storage medium 1102 in which machine-executable instructions that can be executed by the processor 1101 are stored, The machine-executable instruction is sent to processor 1101. Receiving traffic packets sent from the user's device, Buffering traffic packets into a scheduling queue corresponding to the deterministic flow to which the traffic packets belong, When the scheduling cycle of the scheduling queue is reached, the system instructs the second network device to send a composite packet containing the IPv6 header, the segment routing header (SRH), and multiple traffic packets in the scheduling queue.
[0115] Preferably, the composite packet further includes an extension header, which includes the packet length of each traffic packet in the composite packet.
[0116] Preferably, the SRH includes a next header field, which indicates that the next header following the SRH is an extended header.
[0117] Preferably, the size of the composite packet is less than or equal to the maximum transmission unit MTU.
[0118] Preferably, the extended header further includes a next header field and an extended header length field. The next header field and the extended header length field each occupy 8 bits. In the composite packet included in the extended header, the packet length of each traffic packet occupies 16 bits. If the total number of bits occupied by the next header field, extended header length field, and each packet length included in the extended header is not an integer multiple of 32 bits, the extended header further includes an end field, which occupies 16 bits and has a value of 0.
[0119] As shown in Figure 11, the network equipment may further include a communication bus 1103. The processor 1101, the machine-readable storage medium 1102, and the transceiver 1104 communicate with each other via the communication bus 1103. The communication bus 1103 may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The communication bus 1103 can be divided into an address bus, a data bus, a control bus, etc.
[0120] The transceiver 1104 may be a wireless communication module, and the transceiver 1104 exchanges data with other devices under the control of the processor 1101.
[0121] The machine-readable storage medium 1102 may include random access memory (RAM) or non-volatile memory (NVM), and may be, for example, at least one magnetic disk memory. Alternatively, the machine-readable storage medium 1102 may be at least one storage device located away from the processor.
[0122] The processor 1101 may be a general-purpose processor including a Central Processing Unit (CPU), a Network Processor (NP), a Digital Signal Processing (DSP), an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA), or other programmable logic devices, discrete gates or transistor logic devices, or discrete hardware components.
[0123] Corresponding to the embodiments of the above method, the embodiment of the present invention further provides a network device. As shown in Figure 12, the network device is Processor 1201 and, Transmitter / receiver 1204 and, The system comprises a machine-readable storage medium 1202 in which machine-executable instructions that can be executed by the processor 1201 are stored, The machine-executable instruction is sent to processor 1201. Receiving a composite packet containing an IPv6 header, a segment routing header (SRH), and multiple traffic packets belonging to the same deterministic flow, This involves forwarding multiple traffic packets to the user's device and performing the following actions.
[0124] Preferably, the composite packet further includes an extension header, the extension header includes the packet length of each traffic packet in the composite packet. The machine-executable instruction is sent to processor 1201. Based on the packet length of each traffic packet included in the extended header, the system further performs the task of extracting multiple traffic packets from the composite packet.
[0125] Preferably, the SRH includes a next header field, which indicates that the next header following the SRH is an extended header.
[0126] Preferably, the size of the composite packet is less than or equal to the maximum transmission unit MTU.
[0127] Preferably, the extended header further includes a next header field and an extended header length field. The next header field and the extended header length field each occupy 8 bits. In the composite packet included in the extended header, the packet length of each traffic packet occupies 16 bits. If the total number of bits occupied by the next header field, extended header length field, and each packet length included in the extended header is not an integer multiple of 32 bits, the extended header further includes an end field, which occupies 16 bits and has a value of 0.
[0128] As shown in Figure 12, the network equipment may further include a communication bus 1203. The processor 1201, the machine-readable storage medium 1202, and the transceiver 1204 communicate with each other via the communication bus 1203. The communication bus 1203 may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The communication bus 1203 can be divided into an address bus, a data bus, a control bus, etc.
[0129] The transceiver 1204 may also be a wireless communication module, and the transceiver 1204 exchanges data with other devices under the control of the processor 1201.
[0130] The machine-readable storage medium 1202 may include random access memory (RAM) or non-volatile memory (NVM), and may be, for example, at least one magnetic disk memory. Alternatively, the machine-readable storage medium 1202 may be at least one storage device located away from the processor.
[0131] The processor 1201 may be a general-purpose processor including a Central Processing Unit (CPU), a Network Processor (NP), a Digital Signal Processing Unit (DSP), an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA), or other programmable logic devices, discrete gates or transistor logic devices, or discrete hardware components.
[0132] Based on the same inventive concept, according to the packet forwarding method provided by the above embodiment of the present invention, the embodiment of the present invention further provides a machine-readable storage medium in which machine-executable instructions that can be executed by a processor are stored. The machine-executable instructions cause the processor to execute any of the steps of the packet forwarding method described above.
[0133] Another embodiment provided in the present invention further provides a computer program product which includes instructions. When executed on a computer, the computer program product causes the computer to perform steps of any of the packet forwarding methods in the above embodiment.
[0134] In this text, relational terms such as those in Sections 1 and 2 are used merely to distinguish one entity or action from another, and do not necessarily request or suggest that such an actual relationship or order exists between these entities or actions. Furthermore, the terms “encompassing,” “including,” or other variations thereof are intended to cover non-exclusive inclusion, meaning that a process, method, article, or device containing a set of elements may further include not only those elements but also other elements not explicitly enumerated, or elements inherent to such a process, method, article, or device. Unless otherwise specified, an element limited by “including one…” does not preclude a process, method, article, or device containing such element from having other identical elements.
[0135] Although the embodiments described herein are presented as being related to each other, the same or similar parts between embodiments can be referenced to one another, and the explanation will focus on the differences between each embodiment and the others. In particular, the embodiments of the apparatus are substantially similar to the embodiments of the method, so their explanation is simple, and relevant parts can be referenced to the embodiments of the method.
[0136] The above description is merely a preferred embodiment of the present invention and does not limit the invention. Any amendments, equivalent substitutions, modifications, etc., made within the spirit and principles of the present invention shall all be within the scope of protection of the present invention.
Claims
1. A packet forwarding method applicable to a first network device, Receiving traffic packets sent from the user's device, The traffic packets are buffered into a scheduling queue corresponding to the deterministic flow to which the traffic packets belong. When the scheduling cycle of the scheduling queue is reached, a composite packet containing an IPv6 header, a segment routing header (SRH), and multiple traffic packets in the scheduling queue is transmitted to the second network device. A packet forwarding method characterized by the following features.
2. The composite packet further includes an extension header, the extension header includes the packet length of each traffic packet in the composite packet. The packet forwarding method according to claim 1, characterized in that...
3. The SRH includes a next header field, and the next header field indicates that the next header following the SRH is the extended header. The packet forwarding method according to claim 2, characterized in that...
4. The size of the composite packet is less than or equal to the maximum transmission unit (MTU). A packet forwarding method according to any one of claims 1 to 3, characterized in that
5. The extended header further includes a next header field and an extended header length field, The next header field and the extended header length field each occupy 8 bits. The packet length of each traffic packet in the composite packet included in the extended header occupies 16 bits. If the total number of bits occupied by the next header field, the extended header length field, and each packet length included in the extended header is not an integer multiple of 32 bits, the extended header further includes an end field, the end field occupies 16 bits, and its value is 0. The packet forwarding method according to claim 2, characterized in that...
6. A packet forwarding method applicable to a third network device, Receiving a composite packet containing an IPv6 header, a Segment Routing Header (SRH), and multiple traffic packets belonging to the same deterministic flow, This includes forwarding the aforementioned multiple traffic packets to the user's device, A packet forwarding method characterized by the following features.
7. The composite packet further includes an extension header, the extension header includes the packet length of each traffic packet in the composite packet, After receiving the composite packet, the packet forwarding method The further includes obtaining the plurality of traffic packets from the composite packet based on the packet length of each traffic packet contained in the extended header, The packet forwarding method according to claim 6, characterized in that...
8. The SRH includes a next header field, and the next header field indicates that the next header following the SRH is the extended header. The packet forwarding method according to claim 7, characterized in that...
9. The size of the composite packet is less than or equal to the maximum transmission unit (MTU). A packet forwarding method according to any one of claims 6 to 8, characterized in that
10. The extended header further includes a next header field and an extended header length field, The next header field and the extended header length field each occupy 8 bits. The packet length of each traffic packet in the composite packet included in the extended header occupies 16 bits. If the total number of bits occupied by the next header field, the extended header length field, and each packet length included in the extended header is not an integer multiple of 32 bits, the extended header further includes an end field, the end field occupies 16 bits, and its value is 0. The packet forwarding method according to claim 7, characterized in that...
11. A packet forwarding device applicable to the first network device, A receiving module for receiving traffic packets sent from user-side equipment, A buffering module for buffering the traffic packets into a scheduling queue corresponding to the deterministic flow to which the traffic packets belong, The system includes a transmission module for transmitting a composite packet containing an IPv6 header, a segment routing header (SRH), and multiple traffic packets in the scheduling queue to a second network device when the scheduling cycle of the scheduling queue is reached. A packet forwarding device characterized by the following features.
12. The composite packet further includes an extension header, the extension header includes the packet length of each traffic packet in the composite packet. The packet forwarding device according to claim 11, characterized in that...
13. The SRH includes a next header field, and the next header field indicates that the next header following the SRH is the extended header. The packet forwarding device according to claim 12, characterized in that...
14. The size of the composite packet is less than or equal to the maximum transmission unit (MTU). A packet forwarding device according to any one of claims 11 to 13, characterized in that
15. The extended header further includes a next header field and an extended header length field, The next header field and the extended header length field each occupy 8 bits. The packet length of each traffic packet in the composite packet included in the extended header occupies 16 bits. If the total number of bits occupied by the next header field, the extended header length field, and each packet length included in the extended header is not an integer multiple of 32 bits, the extended header further includes an end field, the end field occupies 16 bits, and its value is 0. The packet forwarding device according to claim 12, characterized in that...
16. A packet forwarding device applicable to third network equipment, A receiving module for receiving a composite packet containing an IPv6 header, a segment routing header (SRH), and multiple traffic packets belonging to the same deterministic flow, The system includes a forwarding module for forwarding the aforementioned multiple traffic packets to the user's device, A packet forwarding device characterized by the following features.
17. The composite packet further includes an extension header, the extension header includes the packet length of each traffic packet in the composite packet, The packet forwarding device, The system further includes an acquisition module for obtaining the plurality of traffic packets from the composite packet based on the packet length of each traffic packet included in the extended header. The packet forwarding device according to claim 16, characterized in that...
18. The SRH includes a next header field, and the next header field indicates that the next header following the SRH is the extended header. The packet forwarding device according to claim 17, characterized in that...
19. The size of the composite packet is less than or equal to the maximum transmission unit (MTU). A packet forwarding device according to any one of claims 16 to 18, characterized in that
20. The extended header further includes a next header field and an extended header length field, The next header field and the extended header length field each occupy 8 bits. The packet length of each traffic packet in the composite packet included in the extended header occupies 16 bits. If the total number of bits occupied by the next header field, the extended header length field, and each packet length included in the extended header is not an integer multiple of 32 bits, the extended header further includes an end field, the end field occupies 16 bits, and its value is 0. The packet forwarding device according to claim 17, characterized in that...
21. Processor and Transmitter and receiver, The system comprises a machine-readable storage medium in which machine-executable instructions that can be executed by the processor are stored, The machine-executable instruction is given to the processor, Receiving traffic packets sent from the user's device, The traffic packets are buffered into a scheduling queue corresponding to the deterministic flow to which the traffic packets belong. When the scheduling cycle of the scheduling queue is reached, the system will send a composite packet containing an IPv6 header, a segment routing header (SRH), and multiple traffic packets in the scheduling queue to the second network device. A network device characterized by the following features.
22. The composite packet further includes an extension header, the extension header includes the packet length of each traffic packet in the composite packet. The network device according to claim 21, characterized in that...
23. The SRH includes a next header field, and the next header field indicates that the next header following the SRH is the extended header. The network device according to claim 22, characterized in that it is a network device.
24. The size of the composite packet is less than or equal to the maximum transmission unit (MTU). A network device according to any one of claims 21 to 23, characterized in that
25. The extended header further includes a next header field and an extended header length field, The next header field and the extended header length field each occupy 8 bits. The packet length of each traffic packet in the composite packet included in the extended header occupies 16 bits. If the total number of bits occupied by the next header field, the extended header length field, and each packet length included in the extended header is not an integer multiple of 32 bits, the extended header further includes an end field, the end field occupies 16 bits, and its value is 0. The network device according to claim 22, characterized in that it is a network device.
26. Processor and Transmitter and receiver, The system comprises a machine-readable storage medium in which machine-executable instructions that can be executed by the processor are stored, The machine-executable instruction is given to the processor, A packet receiving a composite packet containing an IPv6 header, a Segment Routing Header (SRH), and multiple traffic packets belonging to the same deterministic flow, The user's device is instructed to forward the aforementioned multiple traffic packets and to perform the following actions: A network device characterized by the following features.
27. The composite packet further includes an extension header, the extension header includes the packet length of each traffic packet in the composite packet, The machine-executable instruction is given to the processor, Based on the packet length of each traffic packet included in the extended header, the process further involves obtaining the multiple traffic packets from the composite packet. The network device according to claim 26, characterized in that it is a network device according to claim 26.
28. The SRH includes a next header field, and the next header field indicates that the next header following the SRH is the extended header. The network device according to claim 27, characterized in that...
29. The size of the composite packet is less than or equal to the maximum transmission unit (MTU). A network device according to any one of claims 26 to 28, characterized in that it is a network device.
30. The extended header further includes a next header field and an extended header length field, The next header field and the extended header length field each occupy 8 bits. The packet length of each traffic packet in the composite packet included in the extended header occupies 16 bits. If the total number of bits occupied by the next header field, the extended header length field, and each packet length included in the extended header is not an integer multiple of 32 bits, the extended header further includes an end field, the end field occupies 16 bits, and its value is 0. The network device according to claim 27, characterized in that...
31. A machine-executable instruction is stored and, when called and executed by the processor, causes the machine-executable instruction to implement the packet transfer method described in any one of claims 1 to 5 or 6 to 10. A machine-readable storage medium characterized by the following features.
32. The processor implements the packet forwarding method described in any one of claims 1 to 5 or 6 to 10. A computer program product characterized by the following features.