Implementation method and device of tunnel network differential service and network equipment

By searching the data association table and edit table at the ingress node of the tunnel network, the EXP allocation information is determined to realize internal priority, which solves the problem that the tunnel network cannot affect queue scheduling in the traditional way, and realizes more precise QoS control.

CN121509344APending Publication Date: 2026-02-10SUZHOU CENTEC COMM CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511792991.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-01
Publication Date
2026-02-10

AI Technical Summary

Technical Problem

In the DiffServ mode of MPLS VPN, in the traditional way, the ingress node in the tunnel network cannot affect the queue scheduling behavior based on the user-specified EXP value, which makes it impossible to meet the priority management requirements of the node.

Method used

At the ingress node of the tunnel network, configuration parameters are obtained by looking up the data association table, the differential service mode of the tunnel network is determined, and the internal priority of IP packets is determined based on the EXP allocation information to realize queue scheduling processing.

Benefits of technology

This makes queue scheduling in the tunnel network subject to the EXP configuration information on this node, meeting users' priority management needs for this node and improving the QoS control capability of the tunnel network.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121509344A_ABST
    Figure CN121509344A_ABST
Patent Text Reader

Abstract

The invention provides a tunnel network differential service implementation method and device and network equipment, aiming at an IP message entering a tunnel network from a user network, an incoming node on the tunnel network in an incoming direction searches a data association table based on the IP message to obtain a configuration parameter; and under the condition that the configuration parameter represents that the differential service mode of the tunnel network is a pipeline mode or a short pipeline mode, querying an editing table based on the IP message to obtain EXP distribution information. And determining the internal priority of the IP message based on the EXP allocation information, and performing scheduling processing on the IP message based on the internal priority of the IP message in the tunnel network. According to the scheme, in the pipeline mode or the short pipeline mode, the internal priority can be obtained based on the EXP allocation information configured in the exit direction of the incoming node, so that queue scheduling on the node is influenced by the EXP allocation information on the node, and the priority management requirement of a user on the node is met.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of communication technology, and more specifically, to a method, apparatus, and network device for implementing differential services in a tunnel network. Background Technology

[0002] The widespread adoption of the internet and the diversification of services have led to a surge in internet traffic, resulting in network congestion, increased forwarding latency, and in severe cases, packet loss, causing a decline in service quality or even unavailability. Therefore, to conduct these real-time services over the network, it is essential to address network congestion. The best way to solve network congestion is to increase network bandwidth, but this is impractical considering the costs of operation and maintenance. The most effective solution is to apply a "guaranteed" strategy to manage network traffic. QoS technology developed in this context. QoS (Quality of Service) aims to provide end-to-end service quality guarantees for the different needs of various services. QoS is a tool for effectively utilizing network resources; it allows different types of traffic to compete for network resources unequally, prioritizing voice, video, and critical data applications in network devices. QoS technology is increasingly used in today's internet, and its role is becoming increasingly important.

[0003] QoS service models include the Best-Effort service model and the DiffServ service model. Best-Effort is the simplest QoS service model; the network sends packets as many times as possible, but provides no guarantees regarding latency, packet loss rate, or other performance aspects. The basic principle of the DiffServ model is to divide network traffic into multiple classes, each receiving different processing. Especially when network congestion occurs, different classes will receive different levels of processing, resulting in different packet loss rates, latency, and jitter. Services of the same class are aggregated and sent uniformly, ensuring consistent QoS metrics such as latency, jitter, and packet loss rate.

[0004] In order to provide different QoS services for different services on the Internet, QoS information is recorded based on certain fields in the packet header, so that different devices in the network can provide different QoS services based on this information.

[0005] MPLS VPN's DiffServ mode includes three modes: Uniform, Pipe, and Short pipe. In pipe or short pipe mode, the EXP value of the MPLS tag pushed onto the packet can be specified by the user. However, this EXP value is edited in the outbound direction, while the internal priority is still mapped based on the DSCP field of the original packet. Therefore, this EXP value cannot affect the packet's queue scheduling behavior on the local device. That is, this EXP value can only affect subsequent devices and cannot affect the Ingress node. Summary of the Invention

[0006] The purpose of this invention is to provide a method, apparatus, and network device for implementing differential services in a tunnel network, so that queue scheduling on the local node is affected by the EXP configuration information on the local node, thereby meeting the user's priority management requirements for the local node.

[0007] In a first aspect, the present invention provides a method for implementing differential services in a tunnel network, the method comprising: For IP packets entering the tunnel network from the user network, the ingress node in the tunnel network in the ingress direction obtains the configuration parameters by looking up the data association table based on the IP packet; When the configuration parameters indicate that the differential service mode of the tunnel network is either pipe mode or short pipe mode, EXP allocation information is obtained by looking up the edit table based on the IP packets; The internal priority of the IP packet is determined based on the EXP allocation information; In the tunnel network, the IP packets are scheduled based on their internal priority.

[0008] In an optional implementation, the method further includes: In the outgoing direction, when the configuration parameters indicate that the differential service mode of the tunnel network is pipe mode or short pipe mode, for the packets to be forwarded within the tunnel network, the ingoing node encapsulates the EXP allocation information into the packets to be forwarded and sends them to the next node.

[0009] In an optional implementation, the method further includes: In the outgoing direction, when the configuration parameters characterize the differential service mode of the tunnel network as either pipe mode or short pipe mode, for a packet to be forwarded from the tunnel network to the user network, the outgoing node in the tunnel network discards the EXP allocation information in the packet to be forwarded, retains the original DSCP value in the packet to be forwarded, and sends it to the user node.

[0010] In an optional implementation, the method further includes: In the inbound direction, when the configuration parameters indicate that the differential service mode of the tunnel network is a unified mode, the DSCP value in the IP packet is mapped to an EXP value according to the mapping rules, and the internal priority of the IP packet is determined based on the mapped EXP value.

[0011] In an optional implementation, the method further includes: In the outgoing direction, when the configuration parameters characterize the differential service mode of the tunnel network as unified mode, for the packet to be forwarded from the tunnel network to the user network, the outgoing node in the tunnel network remaps the EXP value in the packet to be forwarded back to the DSCP value, and encapsulates the mapped DSCP value into the packet to be forwarded before sending it to the user node.

[0012] In an optional implementation, the step of performing scheduling processing on the IP packets based on their internal priority in the tunnel network includes: Based on the IP packet, the corresponding forwarding exit information is found in the data association table; The forwarding queue to which the IP packet matches is determined by matching the internal priority of the IP packet with the priorities of multiple preset forwarding queues in the forwarding exit. The IP packets are stored in a matching forwarding queue, and the IP packets are scheduled and processed in the tunnel network according to the priority of the forwarding queue.

[0013] In an optional implementation, the step of obtaining configuration parameters by looking up the data association table based on the IP packet includes: Based on the destination IP address in the IP packet, the forwarding information database is searched to determine the pointer to the data association table corresponding to the IP packet; The corresponding configuration parameters are obtained by looking up the data association table based on the pointer, wherein the configuration parameters are used to indicate the differential service mode of the tunnel network.

[0014] In an optional implementation, the step of obtaining EXP allocation information based on the IP packet lookup and edit table includes: Complete forwarding information is obtained by looking up the data association table and the next hop table based on the IP packet. The complete forwarding information includes an edit pointer to the edit table. The EXP allocation information is obtained by searching the edit table based on the edit pointer.

[0015] In a second aspect, the present invention provides an apparatus for implementing differential services in a tunnel network, the apparatus comprising: The configuration parameter acquisition unit is used to obtain configuration parameters by looking up a data association table based on the IP packet in the inbound direction through the inbound node in the tunnel network for the IP packet entering the tunnel network from the user network. The allocation information obtaining unit is used to obtain EXP allocation information based on the IP packet lookup edit table when the configuration parameters indicate that the differential service mode of the tunnel network is pipe mode or short pipe mode; The mapping unit is used to determine the internal priority of the IP packet based on the EXP allocation information; The scheduling processing unit is used to perform scheduling processing on the IP packets in the tunnel network based on the internal priority of the IP packets.

[0016] Thirdly, the present invention provides a network device including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement any of the methods described in the foregoing embodiments.

[0017] This invention provides a method, apparatus, and network device for implementing differential services in a tunnel network. For IP packets entering the tunnel network from a user network, the ingress node on the tunnel network obtains configuration parameters by looking up a data association table based on the IP packet in the ingress direction. If the configuration parameters indicate that the differential service mode of the tunnel network is either pipe mode or short pipe mode, EXP allocation information is obtained by querying an edit table based on the IP packet. The internal priority of the IP packet is determined based on the EXP allocation information, and scheduling processing is performed on the IP packets in the tunnel network based on their internal priority. In this scheme, in pipe mode or short pipe mode, the internal priority can be obtained based on the EXP allocation information configured in the ingress node's egress direction, thereby making the queue scheduling on this node affected by the EXP configuration information on this node, meeting the user's priority management requirements for this node. Attached Figure Description

[0018] To more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings used in the embodiments of the present invention will be briefly introduced below. It should be understood that the following drawings only show some embodiments of the present invention and should not be regarded as a limitation on the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.

[0019] Figure 1 A flowchart illustrating the implementation method of tunnel network differential service provided in this embodiment of the invention; Figure 2 for Figure 1 A flowchart of the sub-steps included in S11; Figure 3This is a schematic diagram of the message processing logic at the ingress node of the tunnel network in an embodiment of the present invention; Figure 4 for Figure 1 A flowchart of the sub-steps included in S12; Figure 5 for Figure 1 A flowchart of the sub-steps included in S14; Figure 6 This is a functional block diagram of the apparatus for implementing differential tunneling network services provided in an embodiment of the present invention. Detailed Implementation

[0020] The technical solutions of the present invention will now be described with reference to the accompanying drawings in the embodiments of the present invention.

[0021] To provide differentiated QoS (Quality of Service) for different services on the Internet, QoS information is recorded in certain fields of the packet header, allowing network devices to provide varying levels of service based on this information. These QoS-related packet fields include: The Precedence field: The ToS (Type of Service) field in the IP header consists of 8 bits, of which the 3-bit Precedence field identifies the priority of the IP packet.

[0022] DSCP Field: The IETF DiffServ Working Group in RFC2474 redefined bits 0-5 in the ToS field of the IPv4 header as DSCP.

[0023] The 802.1p field in a VLAN frame: Defined by IEEE 802.1Q, the PRI field (i.e., 802.1p priority), or CoS (Class of Service) field in the VLAN frame header, identifies the quality of service requirements.

[0024] MPLS EXP Field: For MPLS packets, the EXP field in the label information is usually used as the CoS field of the MPLS packet, which is equivalent to the ToS field of the IP network. It is used to distinguish the service level of data traffic to support the DiffServ of MPLS networks.

[0025] As can be seen, different packets use different QoS priorities. For example, VLAN packets use 802.1p, IP packets use DSCP, and MPLS packets use EXP. Priority mapping implements the mapping from QoS priority to internal priority or from internal priority to QoS priority. For packets entering the device, the device maps the priority carried by the packet to an internal priority, and then determines the queue into which the packet enters based on the mapping relationship between the internal priority and the queue. This allows for traffic shaping, congestion avoidance, queue scheduling, and other processing of the queue. Furthermore, the device can modify the priority carried by the packet when it is sent out according to the configuration, so that other devices can provide corresponding QoS services based on the packet's priority.

[0026] MPLS VPN's DiffServ mode includes three modes: Uniform, Pipe, and Short pipe.

[0027] Uniform mode: The priority identifier for packets is uniformly defined in both IP and MPLS networks, meaning that the priority identifier for packets is globally valid in both networks. On the ingress node, packets are tagged, with DSCP or 802.1p mapped to EXP. If the value of the EXP field is changed within the MPLS network, it will affect the PHB used when the packet leaves the MPLS network.

[0028] Pipe Mode: The EXP value of the MPLS label pushed onto the Ingress can be specified by the user. If the value of the EXP field is changed within the MPLS network, it is only valid within the MPLS network. On the Egress node, the PHB is selected based on the value of the EXP field. When the packet leaves the MPLS network, the DSCP or 802.1p previously carried by the packet remains valid.

[0029] Short pipe mode: The EXP value of the MPLS label pushed onto the packet in the Ingress can be specified by the user. If the value of the EXP field is changed within the MPLS network, it is only valid within the MPLS network. In the Egress, the packet selects its PHB based on either DSCP or 802.1p. When the packet leaves the MPLS network, the DSCP or 802.1p value previously carried by the packet remains valid.

[0030] In the traditional approach, on the Ingress node, in pipe mode or short pipe mode, the EXP value of the MPLS tag pushed onto the packet can be specified by the user. However, this EXP value is edited in the outbound direction, while the internal priority is still mapped from the DSCP field of the original packet. Therefore, this EXP value cannot affect the packet's queueing behavior on this device. That is, this EXP value can only affect subsequent devices, not the Ingress node itself.

[0031] Based on the above research findings, this invention provides an implementation scheme for differential services in tunnel networks, which aims to enable the outer-layer specified QoS field to influence the inbound queue behavior of ingress nodes.

[0032] Please see Figure 1 This is a flowchart illustrating a method for implementing differential services in a tunnel network according to an embodiment of the present invention. This method is applied to a network device, which can be any node in the tunnel network, including ingress and egress nodes. The specific implementation steps of this method are as follows.

[0033] S11, For IP packets entering the tunnel network from the user network, the ingress node in the tunnel network in the ingress direction obtains configuration parameters by looking up the data association table based on the IP packets; S12, when the configuration parameters indicate that the differential service mode of the tunnel network is pipe mode or short pipe mode, EXP allocation information is obtained by looking up the edit table based on the IP packet; S13, determine the internal priority of the IP packet based on the EXP allocation information; S14, In the tunnel network, the IP packets are scheduled based on their internal priority.

[0034] MPLS VPN's DiffServ mode includes three modes: Uniform, Pipe, and Short pipe.

[0035] This involves two key concepts: the EXP bit, a 3-bit portion of the MPLS header used to carry QoS information (equivalent to the DSCP of an IP packet) in the MPLS backbone network; and the DSCP, a 6-bit portion of the IP header used to identify the QoS level of the IP packet.

[0036] The core difference between these three modes lies in how the DSCP value of the IP header and the EXP value of the MPLS header are mapped and processed when IP packets enter and leave the MPLS network.

[0037] In Uniform mode, customers and carrier networks have a "uniform" view of QoS. The QoS level set by the customer will persist throughout the network and will be "re-marked" by the carrier's policies when leaving the network.

[0038] At the ingress node, the DSCP value of the IP packet is mapped to the MPLS EXP bit. At the egress node, the MPLS EXP bit is remapped back to the DSCP value of the IP packet.

[0039] In Uniform mode, the DSCP value of an IP packet may be altered when it leaves the MPLS network. The operator's QoS policy will override the customer's original QoS label. This is suitable for scenarios where operators want complete control over their QoS policies within their network.

[0040] The core idea of ​​Pipe mode is that the operator's MPLS network is like an opaque "pipe". It only cares about the QoS within its own pipe and does not care about or modify the QoS information inside the customer's IP packets.

[0041] At the ingress node, the DSCP value of the IP packet is mapped to the MPLS EXP bit, but the original DSCP value is preserved. At the egress node, the preserved original DSCP value is restored to the IP packet header, instead of being overwritten with the EXP value.

[0042] In Pipe mode, IP packets retain the same DSCP value when leaving the MPLS network as when they enter. The operator's QoS policy is invisible to customers. This is suitable for scenarios where protecting the customer's original QoS label is crucial.

[0043] The Short Pipe mode is a variation of the Pipe mode, which can be viewed as a "short" pipe. It provides more flexible QoS processing at the outgoing node.

[0044] At the ingress node, similar to the Pipe mode, the DSCP is mapped to the EXP, and the original DSCP is preserved. At the egress node, within the MPLS domain, QoS scheduling is performed based on the EXP bits. After leaving the MPLS domain, QoS scheduling is performed based on the recovered original DSCP value.

[0045] In Short Pipe mode, similar to Pipe mode, the DSCP value of IP packets is restored when leaving the network. The key difference lies in how the outgoing node performs final QoS processing on the packets. In Short Pipe mode, the outgoing node checks the restored DSCP and uses it for final queuing and forwarding of packets, which is very useful in complex scenarios requiring end-to-end QoS guarantees.

[0046] As can be seen, in the traditional approach, in both Pipe and Short Pipe modes, the DSCP value in the IP packet is mapped to the MPLS EXP bit at the ingress node. The internal priority is then determined based on the EXP bit, enabling queue scheduling within the tunnel network. However, in these two modes, although the ingress node has EXP configuration information, this setting only applies to the next node; the current node still only performs internal priority mapping based on the DSCP value in the received IP packet.

[0047] To address the aforementioned issues, the solution provided in this embodiment involves the following: when an ingress node in the tunnel network receives an IP packet entering the tunnel network from the user network, it searches a data association table based on the IP packet to obtain configuration parameters. These configuration parameters characterize the differential service mode of the tunnel network.

[0048] When the differential service mode of the tunnel network is either pipe mode or short pipe mode, the EXP allocation information configured at the ingress node is obtained by querying the edit table. This EXP allocation information represents the quality of service information carried in the tunnel network at the ingress node based on demand. Traditionally, in pipe mode or short pipe mode, internal priority mapping is directly based on the DSCP value in the IP packet. However, in this scheme, the internal EXP value is determined by querying the EXP allocation information in the outgress direction of the ingress node, based on the DSCP value in the IP packet and the EXP allocation information, and then the internal priority is determined based on the determined internal EXP value. That is, at the ingress node, IP packets with different DSCP values ​​can be mapped to the corresponding internal priority according to demand, thereby performing corresponding queue scheduling for IP packets in the tunnel network.

[0049] Please see Figure 2 In this embodiment, after receiving an IP packet, the ingress node obtains the configuration parameters by querying the data association table based on the IP packet. This can be achieved in the following way: S111, based on the destination IP address in the IP packet, search the forwarding information database to determine the pointer to the data association table corresponding to the IP packet; S112, based on the pointer, look up the data association table to obtain the corresponding configuration parameters, wherein the configuration parameters are used to indicate the differential service mode of the tunnel network.

[0050] Please refer to the following: Figure 3 The received IP packet contains an IP header (containing source / destination IP address, TTL, etc.) and a payload (upper-layer protocol data, such as TCP / UDP segments).

[0051] The ingress node performs a lookup in the FIB (Fixed Inbound Node) based on the destination IP address in the IP packet. The FIB can be understood as an optimized routing table for high-speed forwarding. The FIB typically does not directly store complete next-hop information; instead, it stores a pointer to a specific entry in the next-hop table. Therefore, by looking up the FIB, the pointer to the associated data table corresponding to the IP packet can be determined.

[0052] The pointer is used to search for the corresponding entry in the data association table to obtain the configuration parameters, which are the differential service modes of the tunnel network. These configuration parameters are pre-configured and stored in the data association table.

[0053] When the Pipe_PHB_En configuration parameter is 0, it indicates that the differential service mode is unified mode, while when the Pipe_PHB_En configuration parameter is 1, it indicates that the differential service mode is either pipe mode or short pipe mode. In the case of pipe mode or short pipe mode, the internal priority needs to be rewritten; that is, the mapping of internal priority is not based on the original DSCP value in the IP packet.

[0054] Therefore, if the differential service mode is determined to be either pipe mode or short pipe mode, the EXP configuration information can be obtained by looking up the edit table based on the IP packet. For details, please refer to [link to relevant documentation]. Figure 4 This step can be achieved in the following way: S121, based on the IP packet, look up the data association table and the next hop table to obtain complete forwarding information, the complete forwarding information including an edit pointer to the edit table; S122, based on the edit pointer, look up the edit table to obtain EXP allocation information.

[0055] Please refer to the following: Figure 3 By looking up the associated data table based on the IP packet, a next-hop pointer (nexthopptr) pointing to the next-hop table can be obtained.

[0056] By querying the next-hop table using the next-hop pointer, you can obtain the edit pointer (editptr) pointing to the edit table. By searching the edit table using the edit pointer, you can obtain the EXP allocation information (Assign EXP) configured and stored in the edit table.

[0057] Thus, in pipe mode or short pipe mode, the EXP value corresponding to the DSCP value in the IP packet can be determined based on the EXP allocation information, and the internal priority can be determined based on the mapped EXP value.

[0058] Furthermore, querying the data association table based on IP packets can yield other relevant information, such as QoS policies and counter indexes. Based on the information provided by the data association table and the determined internal priorities, queue scheduling of IP packets within the tunnel network can be performed. For details, please refer to [link to relevant documentation]. Figure 5 This step can be achieved in the following way: S141, based on the IP packet, find the corresponding forwarding exit information in the data association table; S142, Based on the internal priority of the IP packet, match it with the priorities of multiple preset forwarding queues in the forwarding exit to determine the forwarding queue that matches the IP packet; S143, the IP packet is stored in a matching forwarding queue, and the IP packet is scheduled and processed in the tunnel network according to the priority of the forwarding queue.

[0059] Please refer to the following: Figure 3 In this embodiment, a destination map can be obtained by querying a data association table. The destination map is a data structure, usually a bitmap, that can be used to track which physical registers (or similar resources) are being written to by the currently processed instruction. Therefore, the forwarding exit information corresponding to the IP packet can be determined based on the destination map.

[0060] When an ingress node receives an IP packet, the system needs to decide which queue to place it in. This decision is typically based on two priorities: the internal priority of the mapped IP packet and the priority of the queue, which is the device's default service level.

[0061] Each forwarding exit has multiple forwarding queues pre-set, for example, queue 0 (highest priority), queue 1 (second highest priority)... queue N (lowest priority).

[0062] The device has an internal mapping table that maps the internal priority of a packet to a specific queue priority.

[0063] For example, IP packets with high internal priority, such as voice packets, can be mapped to queue 0 (high priority queue).

[0064] For IP packets with medium internal priority, such as video conferencing packets, they can be mapped to queue 1 (medium priority queue).

[0065] For IP packets with low internal priority, such as those from regular web browsing, they can be mapped to queue 2 (low priority queue).

[0066] After determining the internal priority of an IP packet, it can be placed in queue 0, 1, or 2 by looking up a table based on its internal priority.

[0067] Queue scheduling also involves dequeueing, which is done according to queue priority. When all queues have messages waiting to be sent, the scheduler starts working and is responsible for deciding "which queue's message should be sent next".

[0068] The scheduling and dequeueing process mainly includes three types of scheduling methods: strict priority scheduling, weighted fair queue scheduling, and scheduling combined with low-latency queues.

[0069] Among these methods, strict priority scheduling is the most direct. This method always prioritizes serving the highest priority non-empty queue. That is, as long as there are packets in a high-priority queue (such as queue 0), the scheduler will only take packets from queue 0 and send them. Only when queue 0 becomes completely empty will the scheduler begin serving the next highest priority queue (queue 1).

[0070] Similarly, the lowest priority queue (queue N) can only be served when all higher priority queues are empty.

[0071] This scheduling method can absolutely guarantee low latency and low jitter for high-priority traffic, making it ideal for real-time applications such as voice and video. However, if high-priority traffic continues unabated (e.g., during a network storm or malicious attack), packets in the low-priority queue may never get a chance to be sent, leading to service interruption.

[0072] Furthermore, weighted fair queue scheduling aims to ensure fairness. The scheduling rule assigns a weight to each queue, and the scheduler allocates bandwidth according to the weight ratio.

[0073] For example, there are 3 windows, with queue 1 having a weight of 50%, queue 2 having 30%, and queue 3 having 20%. Even if all 3 queues have an unlimited number of messages, the system will ensure that they occupy the transmission bandwidth in a ratio of approximately 5:3:2.

[0074] This scheduling method ensures fairness, allowing low-priority services to receive predictable service. However, it cannot absolutely guarantee low latency for high-priority services, as it still needs to serve low-priority queues.

[0075] Furthermore, the low-latency queue scheduling method combines the advantages of the two scheduling methods mentioned above. The rule for this method is to first use strict priority logic to serve one or more of the highest priority queues (these queues are called LLQ queues). When the LLQ queues are empty, the weighted fair queue algorithm is used to schedule all remaining low-priority queues.

[0076] For example, when voice traffic (entering the LLQ queue) arrives, it is sent immediately, ensuring extremely low latency. When there is no voice traffic, video and web traffic (entering the WFQ queue) share the remaining bandwidth fairly according to preset weights (e.g., 70% for video and 30% for web).

[0077] This scheduling method ensures the absolute priority of critical services while preventing other services from being "starved," making it the gold standard for QoS design in modern network equipment.

[0078] The above process describes the handling of IP packets entering the tunnel network from the user network at the ingress node, where the tunnel network's differential service mode is either pipe mode or short pipe mode.

[0079] Based on this, the implementation method of tunnel network differential service provided in this embodiment may further include the following steps: In the outgoing direction, when the configuration parameters indicate that the differential service mode of the tunnel network is pipe mode or short pipe mode, for the packets to be forwarded within the tunnel network, the ingoing node encapsulates the EXP allocation information into the packets to be forwarded and sends them to the next node.

[0080] In other words, when a packet within the tunnel network is forwarded to the next node, the EXP allocation information from the ingress node's egress direction is encapsulated within the packet and sent to the next node. Thus, within the tunnel network, the internal priority mapping of subsequent nodes can be achieved based on the configured EXP allocation information, enabling packet scheduling within the tunnel network according to the configured priority information.

[0081] When a packet leaves the tunnel network and enters the user network, the QoS information in the packet needs to be processed. Based on this, the implementation method of tunnel network differential service provided in this embodiment may further include the following steps: In the outgoing direction, when the configuration parameters characterize the differential service mode of the tunnel network as either pipe mode or short pipe mode, for a packet to be forwarded from the tunnel network to the user network, the outgoing node in the tunnel network discards the EXP allocation information in the packet to be forwarded, retains the original DSCP value in the packet to be forwarded, and sends it to the user node.

[0082] When the differential service mode of the tunnel network is pipe mode or short pipe mode, for packets leaving the tunnel network, the EXP allocation information configured inside the tunnel network needs to be discarded, the original DSCP value of the packet needs to be retained, the DSCP value is restored to the IP packet header, and then sent to the user node in the user network.

[0083] The above describes the packet processing methods under the differential service mode of the tunnel network, specifically the pipe mode or short pipe mode. The differential service mode of the tunnel network also includes a unified mode; that is, the differential service mode of the tunnel network can also be configured as a unified mode based on requirements. After querying the data association table, if the Pipe_PHB_En configuration parameter is 0, it indicates that the differential service mode is unified mode. Based on this, the implementation method of user tunnel network differential service provided in this embodiment may further include the following steps: In the inbound direction, when the configuration parameters indicate that the differential service mode of the tunnel network is a unified mode, the DSCP value in the IP packet is mapped to an EXP value according to the mapping rules, and the internal priority of the IP packet is determined based on the mapped EXP value.

[0084] In this embodiment, when the differential service mode of the tunnel network is unified mode, the ingress node directly parses the DSCP value in the received IP packet and maps it to the EXP value according to the internal mapping rules, thereby determining the internal priority.

[0085] In this scenario, when a message is forwarded within the tunnel network, such as in the outbound direction of an inbound node, the inbound node encapsulates the mapped EXP value in the message to be forwarded and sends the message to the next node.

[0086] When a message leaves the tunnel network and enters the user network, its DSCP value needs to be remapped. Based on this, the implementation method of the tunnel network differential service provided in this embodiment may further include the following steps: In the outgoing direction, when the configuration parameters characterize the differential service mode of the tunnel network as unified mode, for the packet to be forwarded from the tunnel network to the user network, the outgoing node in the tunnel network remaps the EXP value in the packet to be forwarded back to the DSCP value, and encapsulates the mapped DSCP value into the packet to be forwarded before sending it to the user node.

[0087] The above describes the packet processing methods between the user network and the tunnel network, including the processing methods in differential service modes of pipe mode or short pipe mode, and in unified mode. Specifically, in pipe mode or short pipe mode, the ingress node processes IP packets in the inbound and outbound directions, and the outbound node processes packets leaving the tunnel network. Furthermore, in unified mode, this includes the ingress node's processing of IP packets in the inbound and outbound directions, and the outbound node's processing of packets leaving the tunnel network.

[0088] In this scheme, the EXP allocation information specified in the outgoing direction under pipeline mode and short pipeline mode is applied to the internal priority mapping of the ingoing node, and further applied to the queue scheduling behavior. This ensures that the allocation information at the ingoing node can be applied to this node, and ensures the validity of the configuration information on this node.

[0089] This solution is applicable to all tunnel differential service models, not just MPLS tunnels, but also SRv6, Vxlan, and other tunnels. It employs a combined hardware and software implementation mechanism, perfectly fulfilling the above requirements without significant modifications to the chip processing flow, while maintaining compatibility with existing behaviors.

[0090] Based on the same inventive concept, please refer to Figure 6 This invention also provides an apparatus for implementing differential services in a tunnel network. This apparatus can be understood as a functional device that implements the aforementioned method for implementing differential services in a tunnel network, including a combination of software and hardware. This apparatus is applied to the aforementioned network device. The apparatus includes a configuration parameter acquisition unit, an allocation information acquisition unit, a mapping unit, and a scheduling processing unit. The integrated units can be implemented in hardware or as software functional modules. It should be noted that the unit division in this embodiment is illustrative and represents only one logical functional division; other division methods may be used in actual implementation.

[0091] The configuration parameter acquisition unit is used to obtain configuration parameters by looking up a data association table based on the IP packet in the inbound direction through the inbound node in the tunnel network for the IP packet entering the tunnel network from the user network. The allocation information obtaining unit is used to obtain EXP allocation information based on the IP packet lookup edit table when the configuration parameters indicate that the differential service mode of the tunnel network is pipe mode or short pipe mode; The mapping unit is used to determine the internal priority of the IP packet based on the EXP allocation information; The scheduling processing unit is used to perform scheduling processing on the IP packets in the tunnel network based on the internal priority of the IP packets.

[0092] The tunnel network differential service implementation apparatus provided in this embodiment can be used to execute the tunnel network differential service implementation method under any of the above embodiments. For details not covered in this embodiment, please refer to the corresponding descriptions in the above embodiments. This embodiment will not elaborate further here.

[0093] This invention also provides a network device, which can be any node in the aforementioned tunnel network, including ingress nodes, egress nodes, etc. The network device includes the aforementioned implementation apparatus for tunnel network differential services. In addition, it may also include a processor and a memory. The memory stores computer-executable instructions, which can be understood as functional modules of the aforementioned implementation apparatus for tunnel network differential services. The processor runs the computer-executable instructions to implement the tunnel network differential service implementation method under any of the above embodiments.

[0094] It is understood that network devices may have more or fewer components than described above, or may have different configurations. It is worth noting that the components in a network device can be implemented in hardware, software, or a combination thereof. That is to say, the implementation of the processing flow in the above embodiments is not limited to the processor reading and running purely computer-readable program code from memory; it can also be implemented through hardware or logic devices.

[0095] It should be understood here that improvements to a technology can be divided into hardware improvements (e.g., improvements to the circuit structure of diodes, transistors, switches, etc.) and software improvements (improvements to the methodology). However, with technological advancements, many improvements to the methodology can now be considered direct improvements to the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved methodology into the hardware circuit. Therefore, it cannot be said that an improvement to the methodology cannot be implemented using hardware physical modules. For example, a Programmable Logic Device (PLD) (such as a Field Programmable Gate Array (FPGA)) is such an integrated circuit whose logic function is determined by the user programming the device. Designers can program and "integrate" a digital system onto a PLD themselves, without needing chip manufacturers to design and manufacture dedicated integrated circuit chips.

[0096] Moreover, nowadays, instead of manually manufacturing integrated circuit chips, this programming is mostly implemented using "logic compiler" software, which is similar to the software compiler used when writing program development code. The original code before compilation must also be written in a specific programming language, which is called a Hardware Description Language (HDL). There is not just one HDL, but many kinds, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, My HDL, PALASM, RHDL (Ruby Hardware Description Language), etc.

[0097] Among them, VHDL (Very High Speed ​​Integrated Circuit (SIC) Hardware Description Language (Hardware Description Language) and Verilog. Those skilled in the art should also understand that by simply performing some logic programming on the method flow using the aforementioned hardware description languages ​​and programming it into an integrated circuit, the hardware circuit implementing the logic method flow can be easily obtained.

[0098] In the embodiments provided by this invention, it should be understood that the disclosed apparatus and method can be implemented in other ways. The apparatus embodiments described above are merely illustrative. For example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. Furthermore, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Additionally, the displayed or discussed mutual couplings, direct couplings, or communication connections may be through some communication interfaces; indirect couplings or communication connections between devices or units may be electrical, mechanical, or other forms.

[0099] Furthermore, the units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0100] Furthermore, the functional modules in the various embodiments of the present invention can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.

Claims

1. A method for implementing differential services in a tunnel network, characterized in that, The method includes: For IP packets entering the tunnel network from the user network, the ingress node in the tunnel network in the ingress direction obtains the configuration parameters by looking up the data association table based on the IP packet; When the configuration parameters indicate that the differential service mode of the tunnel network is either pipe mode or short pipe mode, EXP allocation information is obtained by looking up the edit table based on the IP packets; The internal priority of the IP packet is determined based on the EXP allocation information; In the tunnel network, the IP packets are scheduled based on their internal priority.

2. The method for implementing differential services in a tunnel network according to claim 1, characterized in that, The method further includes: In the outgoing direction, when the configuration parameters indicate that the differential service mode of the tunnel network is pipe mode or short pipe mode, for the packets to be forwarded within the tunnel network, the ingoing node encapsulates the EXP allocation information into the packets to be forwarded and sends them to the next node.

3. The method for implementing differential services in a tunnel network according to claim 2, characterized in that, The method further includes: In the outgoing direction, when the configuration parameters characterize the differential service mode of the tunnel network as either pipe mode or short pipe mode, for a packet to be forwarded from the tunnel network to the user network, the outgoing node in the tunnel network discards the EXP allocation information in the packet to be forwarded, retains the original DSCP value in the packet to be forwarded, and sends it to the user node.

4. The method for implementing differential services in a tunnel network according to claim 1, characterized in that, The method further includes: In the inbound direction, when the configuration parameters indicate that the differential service mode of the tunnel network is a unified mode, the DSCP value in the IP packet is mapped to an EXP value according to the mapping rules, and the internal priority of the IP packet is determined based on the mapped EXP value.

5. The method for implementing differential services in a tunnel network according to claim 4, characterized in that, The method further includes: In the outgoing direction, when the configuration parameters characterize the differential service mode of the tunnel network as unified mode, for the packet to be forwarded from the tunnel network to the user network, the outgoing node in the tunnel network remaps the EXP value in the packet to be forwarded back to the DSCP value, and encapsulates the mapped DSCP value into the packet to be forwarded before sending it to the user node.

6. The method for implementing differential services in a tunnel network according to claim 1, characterized in that, The step of performing scheduling processing on IP packets based on their internal priority in the tunnel network includes: Based on the IP packet, the corresponding forwarding exit information is found in the data association table; The forwarding queue to which the IP packet matches is determined by matching the internal priority of the IP packet with the priorities of multiple preset forwarding queues in the forwarding exit. The IP packets are stored in a matching forwarding queue, and the IP packets are scheduled and processed in the tunnel network according to the priority of the forwarding queue.

7. The method for implementing differential services in a tunnel network according to claim 1, characterized in that, The step of obtaining configuration parameters by looking up the data association table based on the IP packet includes: Based on the destination IP address in the IP packet, the forwarding information database is searched to determine the pointer to the data association table corresponding to the IP packet; The corresponding configuration parameters are obtained by looking up the data association table based on the pointer, wherein the configuration parameters are used to indicate the differential service mode of the tunnel network.

8. The method for implementing differential services in a tunnel network according to claim 1, characterized in that, The step of obtaining EXP allocation information based on the IP packet lookup and edit table includes: Complete forwarding information is obtained by looking up the data association table and the next hop table based on the IP packet. The complete forwarding information includes an edit pointer to the edit table. The EXP allocation information is obtained by searching the edit table based on the edit pointer.

9. An apparatus for implementing differential services in a tunnel network, characterized in that, The device includes: The configuration parameter acquisition unit is used to obtain configuration parameters by looking up a data association table based on the IP packet in the inbound direction through the inbound node in the tunnel network for the IP packet entering the tunnel network from the user network. The allocation information obtaining unit is used to obtain EXP allocation information based on the IP packet lookup edit table when the configuration parameters indicate that the differential service mode of the tunnel network is pipe mode or short pipe mode; The mapping unit is used to determine the internal priority of the IP packet based on the EXP allocation information; The scheduling processing unit is used to perform scheduling processing on the IP packets in the tunnel network based on the internal priority of the IP packets.

10. A network device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the method of any one of claims 1 to 8.