Message forwarding method, device and computer readable storage medium

By identifying terminal groups in the 5G network and sending messages directly through the N3 interface, the bandwidth waste and latency issues of UPF in the same area are resolved, achieving efficient message forwarding.

CN116367236BActive Publication Date: 2026-01-16CHINA TELECOM CORP LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111588923.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-23
Publication Date
2026-01-16
Estimated Expiration
2041-12-23

AI Technical Summary

Technical Problem

In 5G networks, when terminals in the same area communicate, the UPF forwards messages through the data network, resulting in wasted bandwidth and increased communication latency.

Method used

By receiving messages from the N3 interface, the system determines whether the destination terminal and the source terminal belong to the same group based on the full tunnel endpoint identifier lookup packet detection rules. If they belong to the same group, the message is sent directly to the base station connected to the destination terminal via the N3 interface, bypassing the data network forwarding.

Benefits of technology

It improves message forwarding efficiency, reduces bandwidth waste, and lowers communication latency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116367236B_ABST
    Figure CN116367236B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a message forwarding method and device, and a computer readable storage medium, and relates to the technical field of communication. The method of the present disclosure comprises: receiving a message transmitted by an N3 interface; searching for a first packet detection rule (PDR) matched by the message according to a full tunnel endpoint identifier (F-TEID) of the message; determining whether a destination terminal and a source terminal of the message belong to the same group according to the first PDR; and in the case that the destination terminal and the source terminal of the message belong to the same group, transmitting the message from the N3 interface to a base station connected to the destination terminal, so as to transmit the message to the destination terminal through the base station.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the field of communication technology, and in particular to a message forwarding method and device and a computer readable storage medium. BACKGROUND

[0002] In a 5G network, user traffic is forwarded or limited by a UPF (User Plane Function). The forwarding or limiting rules need to be issued by an SMF, and some functions need to be implemented by N4 interface private IE.

[0003] Currently, when the UPF forwards user traffic, all traffic needs to be forwarded through a DN (Data Network) according to the rules issued by the SMF. SUMMARY

[0004] The inventors have found that when terminals in the same area (e.g., the same park) communicate, the UPF also forwards messages through the DN, causing bandwidth waste and high communication latency.

[0005] One technical problem to be solved by the present disclosure is how to improve the efficiency of message forwarding and reduce bandwidth waste.

[0006] According to some embodiments of the present disclosure, a message forwarding method is provided, which includes: receiving a message transmitted by an N3 interface; searching for a first PDR (Packet Detection Rule) matched by the message according to the F-TEID (Full Tunnel Endpoint Identifier) of the message; determining whether the destination terminal and the source terminal of the message belong to the same group according to the first PDR; and in the case where the destination terminal and the source terminal of the message belong to the same group, transmitting the message from the N3 interface to a base station connected to the destination terminal, so as to be transmitted to the destination terminal by the base station.

[0007] In some embodiments, determining whether the destination terminal and the source terminal of the message belong to the same group according to the first PDR includes: determining the slice identification information or the DNN (Data Network Name) corresponding to the message according to the first PDR; determining the group corresponding to the slice identification information or the DNN as a to-be-matched group; matching the destination IP address of the message with the IP address segment corresponding to the to-be-matched group; and if the matching is successful, determining that the destination terminal and the source terminal of the message belong to the same group.

[0008] In some embodiments, the IP address segments corresponding to each group are stored in different hash tables according to the mask length, and the destination IP address of the message is matched with the IP address segment corresponding to the to-be-matched group by longest prefix matching.

[0009] In some embodiments, before the first PDR matching the packet is found according to the F-TEID of the packet, further comprising: determining whether the packet is a general packet radio service tunneling protocol user plane (GTP-U) packet; in the case that the packet is a GTP-U packet, determining whether the packet is a transport protocol data unit (T-PDU) type packet; in the case that the packet is a T-PDU type packet, recording information of the packet, wherein the information of the packet comprises an inner data offset.

[0010] In some embodiments, after the information of the packet is recorded, further comprising: determining whether the packet is an uplink packet; in the case that the packet is an uplink packet, distributing the packet to a corresponding first worker according to a source IP address in an inner layer of the packet, wherein packets with the same source IP address in the inner layer are distributed to the same worker; wherein the first PDR matching the packet is found according to the F-TEID of the packet, and whether the destination terminal and the source terminal of the packet belong to the same group is determined according to the first PDR in the first worker corresponding to the packet.

[0011] In some embodiments, finding the first PDR matching the packet according to the F-TEID of the packet comprises: after the first PDR matching the packet is found according to the F-TEID of the packet, obtaining a first packet forwarding rule according to the first PDR, wherein the first packet forwarding rule comprises at least one of a forwarding action rule (FAR), a buffering action rule (BAR), a quality of service enforcement rule (QER), and a usage reporting rule (URR); creating a first fast forwarding table entry and adding the first fast forwarding table entry to a least recently used (LRU) linked list of the source terminal and a five-tuple hash table of the first worker corresponding to the packet, wherein the first fast forwarding table entry comprises five-tuple information of the packet and cache information of the first PDR.

[0012] In some embodiments, before determining whether the destination terminal and the source terminal of the packet belong to the same group according to the first PDR, further comprising: decapsulating the packet according to the first PDR; processing the packet according to the first packet forwarding rule; determining whether there are tokens in a quality of service meter (QoS-meter) token bucket that exceed the length of the packet; in the case that there are tokens that exceed the length of the packet, performing the determination of whether the destination terminal and the source terminal of the packet belong to the same group according to the first PDR.

[0013] In some embodiments, sending the packet from the N3 interface to a base station connected to the destination terminal comprises: finding a second PDR matching the packet according to a destination IP address of the packet; processing the packet according to the second PDR; querying a corresponding route according to an outer destination IP address of the packet; and sending the packet from the N3 interface to the base station connected to the destination terminal according to the route.

[0014] In some embodiments, the method further comprises: before the searching the second PDR according to the destination IP address of the packet, distributing the packet to a corresponding second worker according to a destination IP address of an inner layer of the packet, wherein packets with the same destination IP address of the inner layer are distributed to the same worker; wherein the searching the second PDR according to the destination IP address of the packet, processing the packet according to the second PDR, querying a corresponding route according to a destination IP address of an outer layer of the packet, and sending the packet from the N3 interface to a base station connected to a destination terminal according to the route are performed in the corresponding second worker of the packet.

[0015] In some embodiments, the processing the packet according to the second PDR comprises: obtaining a second packet forwarding rule according to the second PDR, wherein the second packet forwarding rule comprises at least one of a forwarding action rule FAR, a buffering action rule BAR, a quality of service enforcement rule QER, and a usage reporting rule URR; creating a second fast forwarding table entry and adding the second fast forwarding table entry to a least recently used LRU list of the destination terminal and a five-tuple hash table of the corresponding second worker of the packet, wherein the second fast forwarding table entry comprises five-tuple information of the packet and cache information of the second PDR.

[0016] In some embodiments, before the querying the corresponding route according to the destination IP address of the outer layer of the packet, the method further comprises: processing the packet according to the second packet forwarding rule; determining whether there are tokens in a quality of service meter QoS-meter token bucket that exceed the length of the packet; and in the case where there are tokens that exceed the length of the packet, encapsulating an outer header for the packet and calculating a check value.

[0017] In some embodiments, the method further comprises: in the case where the destination terminal and the source terminal of the packet do not belong to the same group of terminals, sending the packet from the N6 interface to a data network DN so as to be sent to the destination terminal via the DN.

[0018] In some embodiments, the method further comprises: receiving exchange strategy configuration information, wherein the exchange strategy configuration information comprises slice identification information or DNNs corresponding to different groups of terminals and IP address segments corresponding to different groups of terminals; and storing the exchange strategy configuration information.

[0019] In some embodiments, the method further comprises: performing signaling interaction of a packet forwarding control protocol PFCP with a session management function SMF through an N4 interface, wherein the signaling of the PFCP comprises a PDR corresponding to a PFCP session.

[0020] According to another embodiment of the present disclosure, a packet forwarding device is provided, comprising: a receiving unit configured to receive a packet transmitted by an N3 interface; a searching unit configured to search a first packet detection rule (PDR) matched by the packet according to a full tunnel endpoint identifier (F-TEID) of the packet; a determining unit configured to determine whether a destination terminal and a source terminal of the packet belong to a same group according to the first PDR; and a sending unit configured to send the packet from the N3 interface to a base station connected to the destination terminal, so as to be sent to the destination terminal by the base station, in a case that the destination terminal and the source terminal belong to the same group.

[0021] According to still another embodiment of the present disclosure, a packet forwarding device is provided, comprising: a processor; and a memory coupled to the processor and configured to store instructions, which, when executed by the processor, cause the processor to perform the packet forwarding method according to any of the foregoing embodiments.

[0022] According to still another embodiment of the present disclosure, a non-transitory computer-readable storage medium is provided, which stores a computer program, wherein the program, when executed by a processor, implements the packet forwarding method according to any of the foregoing embodiments.

[0023] In the present disclosure, after receiving a packet transmitted by an N3 interface, a first PDR matched by the packet is searched, and whether a destination terminal and a source terminal of the packet belong to a same group is determined according to the first PDR. If the destination terminal and the source terminal belong to the same group, the packet is directly sent to a base station connected to the destination terminal through the N3 interface, so as to be sent to the destination terminal, and no longer needs to be sent to a DN through an N6 interface and then to the destination terminal, thereby improving the efficiency of packet forwarding and reducing the waste of bandwidth.

[0024] Other features and advantages of the present disclosure will become apparent from the following detailed description of exemplary embodiments of the present disclosure with reference to the following drawings. BRIEF DESCRIPTION OF DRAWINGS

[0025] In order to more clearly illustrate the technical solutions in the embodiments of the present disclosure or the prior art, brief introductions to the drawings needed in the embodiments or prior art descriptions will be given below. Obviously, the drawings in the following description are only some embodiments of the present disclosure, and other drawings can be obtained by those skilled in the art without any creative effort based on these drawings.

[0026] Figure 1 A flowchart of a packet forwarding method according to some embodiments of the present disclosure is shown.

[0027] Figure 2 A node diagram of a VPP according to some embodiments of the present disclosure is shown.

[0028] Figure 3A flowchart illustrating a message forwarding method according to other embodiments of this disclosure is shown.

[0029] Figure 4 A schematic diagram of the logical structure of a message forwarding apparatus according to some embodiments of the present disclosure is shown.

[0030] Figure 5 A schematic diagram of the structure of a message forwarding apparatus according to some embodiments of the present disclosure is shown.

[0031] Figure 6 A schematic diagram of the structure of a message forwarding apparatus according to other embodiments of this disclosure is shown.

[0032] Figure 7 A schematic diagram of the structure of a message forwarding apparatus according to further embodiments of the present disclosure is shown. Detailed Implementation

[0033] The technical solutions of the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this disclosure, and not all embodiments. The following description of at least one exemplary embodiment is merely illustrative and is in no way intended to limit this disclosure or its application or use. All other embodiments obtained by those skilled in the art based on the embodiments of this disclosure without creative effort are within the scope of protection of this disclosure.

[0034] This disclosure proposes a message forwarding method, which is described below in conjunction with... Figures 1-4 Describe it.

[0035] Figure 1 Flowcharts are shown for some embodiments of the message forwarding method disclosed herein. For example... Figure 1 As shown, the method of this embodiment includes steps S102 to S108.

[0036] In step S102, a message is received from the N3 interface.

[0037] The data packet was received via the N3 interface and contained IP datagrams.

[0038] The scheme disclosed herein can be implemented using VPP. VPP is highly modular, allowing new graph nodes to be "inserted" without changing the underlying codebase. Any number of packet processing solutions can be built using different forwarding graphs. Graph nodes can be added between VPP packet sending and receiving processes (only key parts are listed, such as...). Figure 2 As shown in the image, this implements the forwarding function. Figure 2As shown, the newly added graph nodes include: upu-gtpu-input (GTPU (tunnel protocol user plane) message input node), upu-workers-handoff (work distribution node), upu-flow-process (flow processing node), upu-rules-process (rule processing node), upu-inner-classify (inner layer classification node), upu-gtpu-encap (GTPU encapsulation node).

[0039] As shown in Figure 2 As shown, after the data packet is transmitted by the N3 interface, the next node of the message (GTPU message) registered by the port IP+UDP destination port 2152 is upu-gtpu-input using the existing graph nodes of VPP, dpdk-input (Data Plane Development Kit-Input), ip-input, ip-lookup, ip-local, ip-udp-lookup, etc. That is, it is determined whether the message is a GTPU message; in the case of a GTPU message, it is sent to upu-gtpu-input for processing.

[0040] In step S104, the first PDR (Packet Detection Rule) matched by the message is found according to the F-TEID (Fully Qualified Tunnel Endpoint Identifier) of the message.

[0041] For example, the data packet enters the UPF, first finds the matched PFCP session, that is, the N4 session, if it exists, finds all associated PDRs, and matches the message according to the priority, to obtain the matched PDR. The first PDR can be one or more.

[0042] In some embodiments, before matching the message with the PDR, the GTPU message can also be classified to determine whether the message is a T-PDU (Transport Protocol Data Unit) type message; in the case of a T-PDU type message, the information of the message is recorded, wherein the information of the message includes the inner layer data offset.

[0043] For example, as shown in Figure 2As shown, the upu-gtpu-input node processes the packet according to the GTPU message type (msg-type); if it is a T-PDU packet, records key information such as inner_data_offset (inner layer data offset), and sends it to the next node; if it is a packet of other types, special processing is performed, such as an Echo Request (probe request) message, which can be directly replied. The inner layer offset can be used for steps such as decapsulation.

[0044] Further, in some embodiments, it is determined whether the packet is an uplink packet; in the case where the packet is an uplink packet, the packet is distributed to a corresponding first worker according to the source IP address in the inner layer of the packet, wherein packets with the same source IP address in the inner layer are distributed to the same worker; wherein the first PDR matched by the packet is found according to the F-TEID of the packet, and it is determined whether the destination terminal and the source terminal of the packet belong to the same group according to the first PDR, which is executed in the first worker corresponding to the packet.

[0045] For example, as shown in Figure 2 The upu-wokers-handoff node confirms that the PDU (Protocol Data Unit) Type carried by the packet = 1 (UL PDU SESSION INFORMATION, uplink PDU session information), and then distributes it to the upu-flow-process node of the specified first worker according to the inner layer source IP address (i.e. the packet sending terminal IP), ensuring that all traffic of the same session is processed in the same worker, avoiding performance problems caused by locking.

[0046] The upu-flow-process node in the first worker performs PDR matching according to the F-TEID of the packet, and obtains the matched first PDR.

[0047] In some embodiments, after finding the first PDR matched by the packet according to the F-TEID of the packet, the first packet forwarding rule is obtained according to the first PDR; a first fast forwarding table item is newly created, and the first fast forwarding table item is added to the LRU (Least Recently Used) linked list of the source terminal and the five tuple hash table of the first worker corresponding to the packet.

[0048] The first packet forwarding rule comprises at least one of a FAR (Forwarding Action Rules), a BAR (Buffering Action Rule), a QER (Qos Enforment Rules), and a URR (Usage Reporting Rules). The first fast forwarding table entry comprises, for example, five-tuple information of the packet, and buffering information of the first PDR. The first fast forwarding table entry is used for fast forwarding of a packet with the same five-tuple information.

[0049] For example, as shown in FIG. 6, the upu-flow-process node obtains the FAR / QER / URR rules associated with the first PDR, creates a first fast forwarding table entry, adds the first fast forwarding table entry to the LRU chain table of the session (packet sending terminal) and the five-tuple hash table of the current first working thread, and sends the first fast forwarding table entry to the rule processing node upu-rules-process. Figure 2

[0050] In step S106, it is determined whether the destination terminal and the source terminal of the packet belong to the same group according to the first PDR.

[0051] In some embodiments, before it is determined whether the destination terminal and the source terminal of the packet belong to the same group according to the first PDR, the packet can be decapsulated according to the first PDR, the packet can be processed according to the first packet forwarding rule, it is determined whether there is a token exceeding the length of the packet in the QoS-meter token bucket, and in the case where there is a token exceeding the length of the packet, it is determined whether the destination terminal and the source terminal of the packet belong to the same group according to the first PDR.

[0052] For example, as shown in FIG. 6, the upu-rules-process node performs a GTPU decapsulation operation according to the Outer Header Removal value of the first PDR, at this time, there is no encapsulation rule, the packet is processed according to the FAR / QER / URR rules, it is confirmed that there is a token exceeding the length of the packet in the Qos-meter token bucket, and then the packet is sent to the upu-inner-classify node. Through the QER, the terminal can be limited in speed. Figure 2

[0053] ​​In some embodiments, the slice identification information or DNN (Data Network Name) corresponding to the packet is determined according to the first PDR; a group corresponding to the slice identification information or DNN is determined as a to-be-matched group; the destination IP address of the packet is matched with an IP address segment corresponding to the to-be-matched group; and if the matching is successful, it is determined that the destination terminal and the source terminal of the packet belong to the same group.

[0054] The slice identification information is, for example, S-NSSAI (Single Network Slice Selection Assistance Information). The correspondence between the slice identification information or DNN and the group and the IP address segment can be preconfigured, for example, the terminals in the same park are taken as a group, have the same DNN, and the IP address of the terminal in the group corresponds to the IP address segment corresponding to the DNN.

[0055] In some embodiments, the IP address segments corresponding to each group are stored in different hash tables according to the mask length, and the destination IP address of the packet is matched with the IP address segment corresponding to the to-be-matched group by the longest prefix matching. For example, using multiple hash tables to store the IP address segments corresponding to the S-NSSAI / DNN according to the mask length can reduce the number of times of the longest prefix matching and improve the forwarding performance.

[0056] For example, as shown in FIG. 8, the upu-inner-classify node finds the hash table in which the corresponding IP address segment is stored according to the DNN or the slice information, and performs the longest prefix matching on the destination IP; if the hash table is hit, it indicates that the destination terminal and the source terminal of the packet belong to the same group. Figure 2

[0057] In step S108, in the case where the destination terminal and the source terminal of the packet belong to the same group of terminals, the packet is sent from the N3 interface to the base station connected to the destination terminal, so as to be sent to the destination terminal through the base station.

[0058] If the destination terminal and the source terminal belong to the same group, the packet can be directly sent from the N3 interface to the destination terminal through the base station, without the need of forwarding the packet to the DN for forwarding through the central server. The terminals in the same group can be connected to the same base station, in which case the forwarding efficiency of the packet is higher.

[0059] In some embodiments, after step S108, step S110 can be further included, in which in the case where the destination terminal and the source terminal of the packet do not belong to the same group of terminals, the packet is sent from the N6 interface to the DN, so as to be sent to the destination terminal through the DN.

[0060] For example, as shown in FIG. 9, the upu-inner-classify node finds the hash table in which the corresponding IP address segment is stored according to the DNN or the slice information, and performs the longest prefix matching on the destination IP; if the hash table is hit, it indicates that the destination terminal and the source terminal of the packet do not belong to the same group.​Figure 2 As shown, the upu-inner-classify node determines that the destination IP does not match the corresponding hash table. The packet then follows process steps 10, 11, and 12, querying the route based on the destination IP and passing through nodes such as ip-lookup and ip-rewrite in sequence, finally being sent from the N6 interface to the DN.

[0061] In the above embodiment, after receiving the packet from the N3 interface, the matching first PDR is searched. Based on the first PDR, it is determined whether the destination terminal and the source terminal of the packet belong to the same group. If they belong to the same group, the packet is directly sent to the base station connected to the destination terminal through the N3 interface, thereby sending it to the destination terminal. It is no longer necessary to send it to the DN through the N6 interface and bypass the DN before sending it to the destination terminal, which improves the efficiency of packet forwarding and reduces bandwidth waste.

[0062] The following is combined Figure 3 Describe how to send a message to the destination terminal via the N3 interface.

[0063] Figure 3 Flowcharts for some other embodiments of the message forwarding method disclosed herein. For example... Figure 3 As shown, the method of this embodiment includes steps S302 to S308.

[0064] In step S302, a second PDR matching the packet is found based on the destination IP address of the packet.

[0065] There may be one or more second PDRs. In some embodiments, before finding a matching second PDR for a packet based on its destination IP address, the packet is distributed to the corresponding second worker thread based on the destination IP address of the inner layer of the packet, wherein packets with the same inner destination IP address are distributed to the same worker thread; subsequent processes are executed by the second worker thread.

[0066] For example, such as Figure 2 As shown, when the destination and source terminals of a packet belong to the same group, the upu-inner-classify node sends the packet to the upu-workers-handoff node. The upu-workers-handoff node then distributes the packet to the upu-flow-process node with the designated second worker thread based on the destination IP address (the IP address of the receiving terminal). Since the worker threads of the two terminals may be different, further thread distribution is required.

[0067] In step S304, the message is processed according to the second PDR.

[0068] In some embodiments, a second packet forwarding rule is obtained according to the second PDR; a second fast forwarding table entry is created and added to the LRU list of the destination terminal and the 5-tuple hash table of the second worker thread corresponding to the packet. The second packet forwarding rule includes at least one of FAR, BAR, QER, and URR. The second fast forwarding table entry includes the 5-tuple information of the packet and the cache information for executing the second PDR.

[0069] For example, such as Figure 2 As shown, the upu-flow-process node performs PDR matching based on the destination IP address to obtain the second PDR, retrieves the FAR / QER / URR rules associated with the second PDR, creates a new second fast forwarding table entry, adds it to the LRU list of the session (receiving terminal) and the five-tuple hash table of the current second worker thread, and sends it to the rule processing node upu-rules-process.

[0070] In step S306, the corresponding route is queried based on the outer destination IP address of the message.

[0071] In some embodiments, before querying the corresponding route based on the outer destination IP address of the packet, the packet is processed according to the second packet forwarding rule; it is determined whether there is a token in the QoS-meter token bucket that exceeds the length of the packet; if there is a token that exceeds the length of the packet, the packet is encapsulated with an outer header and a checksum is calculated.

[0072] For example, such as Figure 2 As shown, the upu-rules-process node processes packets according to the second packet forwarding rule. For example, it can rate-limit terminals using QER. The upu-rules-process node determines if there is an encapsulation rule, checks if the QoS-meter token bucket contains a token exceeding the packet length, and if so, sends the packet to the upu-gtpu-encap node. The upu-gtpu-encap node encapsulates the outer header according to the Outer Header Creation and calculates the checksum.

[0073] In step S308, the message is sent from the N3 interface to the base station connected to the destination terminal according to the route.

[0074] For example, such as Figure 2As shown, the upu-gtpu-encap node queries the route according to the outer destination IP, sequentially passes through the ip-lookup, ip-rewrite and other nodes, and finally sends the data to the base station connected to the destination terminal from the N3 interface, completing a local data exchange.

[0075] The method of the above embodiment can be implemented by a VPP module in the packet forwarding device, and the functions of each newly added graph node are as follows:

[0076] upu-gtpu-input: processing received GTPU packets, classifying and recording the inner layer offset;

[0077] upu-wokers-handoff: distributing traffic corresponding to the same terminal to the same worker thread;

[0078] upu-flow-process: first packet matching, maintaining a five-tuple fast forwarding table;

[0079] upu-rules-process: processing packets according to PDR / FAR / URR / BAR / QER rules;

[0080] upu-inner-classify: classifying according to the inner packet destination IP, maintaining a hash table of IP address segments;

[0081] upu-gtpu-encap: encapsulating GTPU headers for packets according to rules.

[0082] The packet forwarding device can be a UPF. As shown, Figure 4 The packet forwarding device can be logically divided into the following functional modules:

[0083] UPC (User Plane Connection) module: performs PFCP (Packet Forwarding Control Protocol) signaling interaction with SMF (Session Management Function) through N4 interface, realizes node management, session management and other functions, and publishes session information to Redis. In some embodiments, the PFCP signaling interaction with the SMF through the N4 interface includes PDR corresponding to the PFCP session.

[0084] Redis module: provides a publishing and subscribing channel for session information and statistical information; the statistical information includes at least one of traffic and state.

[0085] Sess-mgr (session manager) module: subscribe to session information and establish table entries, provide PDR matching for the first data packet of the session, report statistical information, etc.; this module can be set inside the VPP module;

[0086] VPP module: manage millions of fast forwarding table entries, receive data traffic of N3, N6, and N9 interfaces, perform efficient forwarding according to FAR / BAR / QER / URR rules provided by Sess-mgr, classify traffic according to destination IP address segments, and perform local fast exchange of data for terminals in the same group;

[0087] Web / etcd / api-mgr (interface management) / Monitor (monitor) and other configuration modules, which realize configuration management, service registration, system state monitoring, interface display of signaling and statistical information, support for configuring the correspondence between S-NSSAI / DNN and IP address segments, and support for statically configuring local exchange strategies at startup.

[0088] In some embodiments, exchange strategy configuration information is received and stored. The exchange strategy configuration information includes slice identifier information or DNN corresponding to different groups, and IP address segments corresponding to different groups. The correspondence between the slice identifier information or DNN and the IP address segments can be directly stored.

[0089] The method of the above embodiments can distinguish between data sent by a terminal to a DN or to another terminal in the same group, and support L3 traffic local fast exchange. Web interface configuration of the correspondence between S-NSSAI / DNN and IP address segments is supported, and local exchange strategies can be statically configured in the startup file, without the need for SMF to issue additional rules, making it easy to deploy and use. Without affecting the forwarding of terminal-to-DN traffic, communication between terminals of different groups can be limited at the same time, supporting the reuse of QER to limit the speed of terminals. The VPP-based forwarding node graph,

[0090] is easy to extend, and other enhanced functions can be implemented based on it in the future.

[0091] The present disclosure also provides a packet forwarding device, which will be described below in conjunction with Figure 5 The packet forwarding device can be a UPF or be arranged in a UPF.

[0092] Figure 5 is a structural diagram of some embodiments of the packet forwarding device of the present disclosure. As Figure 5 shown, the device 50 of this embodiment includes a receiving unit 510, a lookup unit 520, a determination unit 530, and a sending unit 540.

[0093] The receiving unit 510 is configured to receive packets transmitted by the N3 interface.

[0094] The lookup unit 520 is configured to look up a first packet detection rule (PDR) matched by the message according to a full tunnel endpoint identifier (F-TEID) of the message.

[0095] The determination unit 530 is configured to determine whether the destination terminal and the source terminal of the message belong to the same group according to the first PDR.

[0096] In some embodiments, the determination unit 530 is configured to determine slice identifier information or a data network name (DNN) corresponding to the message according to the first PDR, determine a group corresponding to the slice identifier information or the DNN as a to-be-matched group, match the destination IP address of the message with an IP address segment corresponding to the to-be-matched group, and if the matching is successful, determine that the destination terminal and the source terminal of the message belong to the same group.

[0097] In some embodiments, the IP address segment corresponding to each group is stored in different hash tables according to mask lengths, and the destination IP address of the message is matched with the IP address segment corresponding to the to-be-matched group by longest prefix matching.

[0098] The sending unit 540 is configured to send the message from the N3 interface to a base station connected to the destination terminal, so as to send the message to the destination terminal through the base station, in the case that the destination terminal and the source terminal of the message belong to the same group.

[0099] In some embodiments, the apparatus 50 further includes a message distribution unit 550 configured to determine whether the message is a general packet radio service tunneling protocol user plane (GTP-U) message, determine whether the message is a transfer protocol data unit (T-PDU) type message in the case that the message is the GTP-U message, and record information of the message in the case that the message is the T-PDU type message, wherein the information of the message includes an inner data offset.

[0100] In some embodiments, the message distribution unit 550 is further configured to determine whether the message is an uplink message, distribute the message to a corresponding first worker thread according to a source IP address in an inner layer of the message in the case that the message is the uplink message, wherein messages with the same source IP address in the inner layer are distributed to the same worker thread, and the determination unit 520 is configured to determine whether the destination terminal and the source terminal of the message belong to the same group according to the first PDR in the first worker thread corresponding to the message.

[0101] In some embodiments, the lookup unit 520 is further configured to, after finding the first PDR matched by the packet according to the F-TEID of the packet, acquire a first packet forwarding rule according to the first PDR, wherein the first packet forwarding rule comprises at least one of a forwarding action rule FAR, a buffering action rule BAR, a quality of service enforcement rule QER, and a usage reporting rule URR; create a first fast forwarding table entry, and add the first fast forwarding table entry to a least recently used LRU chain table of the source terminal and a five-tuple hash table of a first worker thread corresponding to the packet, wherein the first fast forwarding table entry comprises five-tuple information of the packet and cache information of executing the first PDR.

[0102] In some embodiments, the determination unit 530 is further configured to, according to the first PDR, decapsulate the packet; according to the first packet forwarding rule, process the packet; determine whether there is a token exceeding the length of the packet in a quality of service meter QoS-meter token bucket; and in the case that there is a token exceeding the length of the packet, perform determining whether the source terminal and the destination terminal of the packet belong to the same group according to the first PDR.

[0103] In some embodiments, the sending unit 540 is further configured to, according to the destination IP address of the packet, find a second PDR matched by the packet; according to the second PDR, process the packet; according to the outer destination IP address of the packet, query a corresponding route; and according to the route, send the packet from the N3 interface to a base station connected to the destination terminal.

[0104] In some embodiments, the sending unit 540 is further configured to, before finding the second PDR matched by the packet according to the destination IP address of the packet, distribute the packet to a corresponding second worker thread according to the inner destination IP address of the packet, wherein packets with the same inner destination IP address are distributed to the same worker thread; and wherein finding the second PDR matched by the packet according to the destination IP address of the packet, processing the packet according to the second PDR, querying the corresponding route according to the outer destination IP address of the packet, and sending the packet from the N3 interface to the base station connected to the destination terminal are performed in the second worker thread corresponding to the packet.

[0105] In some embodiments, the sending unit 540 is configured to acquire a second packet forwarding rule according to the second PDR, wherein the second packet forwarding rule comprises at least one of a forwarding action rule FAR, a buffering action rule BAR, a quality of service enforcement rule QER, and a usage reporting rule URR; create a second fast forwarding table entry, and add the second fast forwarding table entry to a least recently used LRU chain table of the destination terminal and a five-tuple hash table of a second worker thread corresponding to the packet, wherein the second fast forwarding table entry comprises five-tuple information of the packet and cache information of executing the second PDR.

[0106] In some embodiments, the sending unit 540 is further configured to process the packet according to the second packet forwarding rule before querying the corresponding route based on the outer destination IP address of the packet; determine whether there is a token in the QoS-meter token bucket that exceeds the length of the packet; and if there is a token that exceeds the length of the packet, encapsulate the packet with an outer header and calculate a check value.

[0107] In some embodiments, the sending unit 540 is further configured to send the message from the N6 interface to the data network DN when the destination terminal and the source terminal of the message do not belong to the same group of terminals, so as to send the message to the destination terminal via the DN.

[0108] In some embodiments, the apparatus further includes: a configuration unit 560, configured to receive switching policy configuration information, wherein the switching policy configuration information includes: slice identifier information or DNN corresponding to different groups, and IP address ranges corresponding to different groups; and to store the switching policy configuration information.

[0109] In some embodiments, the apparatus further includes a user plane connection unit 570, configured to perform signaling interaction of the Packet Forwarding Control Protocol (PFCP) with the Session Management Function (SMF) via an N4 interface, wherein the PFCP signaling includes the PDR corresponding to the PFCP session.

[0110] In the above embodiments, the receiving unit 510, searching unit 520, determining unit 530, sending unit 540, and message distribution unit 550 can be implemented using VPP, corresponding to the VPP module in the aforementioned embodiments. The configuration unit 560 corresponds to the configuration modules such as Web / etcd / api-mgr (interface management) / Monitor (monitor) in the aforementioned embodiments, and the user plane connection unit 570 corresponds to the UPC module in the aforementioned embodiments.

[0111] The message forwarding devices in the embodiments of this disclosure can be implemented by various computing devices or computer systems, as described below. Figure 6 as well as Figure 7 Describe it.

[0112] Figure 6 This is a structural diagram of some embodiments of the message forwarding device disclosed herein. For example... Figure 6 As shown, the apparatus 60 of this embodiment includes a memory 610 and a processor 620 coupled to the memory 610. The processor 620 is configured to execute the packet forwarding method in any of the embodiments of this disclosure based on instructions stored in the memory 610.

[0113] The memory 610 may include, for example, system memory, fixed non-volatile storage media, etc. The system memory stores, for example, the operating system, application programs, boot loader, database, and other programs.

[0114] Figure 7 These are structural diagrams of other embodiments of the message forwarding apparatus of this disclosure. For example... Figure 7 As shown, the device 70 of this embodiment includes a memory 710 and a processor 720, which are similar to the memory 610 and processor 620, respectively. It may also include an input / output interface 730, a network interface 740, a storage interface 750, etc. These interfaces 730, 740, 750, and the memory 710 and processor 720 can be connected, for example, via a bus 760. The input / output interface 730 provides a connection interface for input / output devices such as a display, mouse, keyboard, and touchscreen. The network interface 740 provides a connection interface for various networked devices, such as connecting to a database server or cloud storage server. The storage interface 750 provides a connection interface for external storage devices such as SD cards and USB flash drives.

[0115] Those skilled in the art will understand that embodiments of this disclosure can be provided as methods, systems, or computer program products. Therefore, this disclosure can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this disclosure can take the form of a computer program product embodied on one or more computer-usable non-transitory storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0116] This disclosure is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create a machine for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0117] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a processFigure 1 one or more processes and / or functions described in one or more blocks. Figure 1 one or more blocks.

[0118] These computer program instructions can also be loaded into computer or other programmable data processing devices, so that a series of operation steps are performed on the computer or other programmable data processing devices to generate computer-implemented processes, so that the instructions executed on the computer or other programmable data processing devices provide processes for implementing the functions described in the flow Figure 1 one or more processes and / or functions described in one or more blocks. Figure 1 Figure 1 one or more blocks.

[0119] The above description is merely the preferred embodiment of this disclosure, and is not intended to limit this disclosure. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of this disclosure shall be included in the protection scope of this disclosure.

Claims

1. A message forwarding method, comprising: receiving a message coming in through an N3 interface; finding a first packet detection rule (PDR) matched by the message according to a full tunnel endpoint identifier (F-TEID) of the message; obtaining a first message forwarding rule according to the first PDR, wherein the first message forwarding rule comprises at least one of a forwarding action rule (FAR), a buffering action rule (BAR), a quality of service enforcement rule (QER), and a usage reporting rule (URR) ; decapsulating the message according to the first PDR; processing the message according to the first message forwarding rule; determining whether there are tokens in a quality of service meter (QoS-meter) token bucket that exceed the length of the message; and in the case where there are tokens that exceed the length of the message, determining whether the destination terminal and the source terminal of the message belong to the same group according to the first PDR; in the case where the destination terminal and the source terminal of the message belong to the same group, sending the message from the N3 interface to a base station connected to the destination terminal, so as to be sent to the destination terminal through the base station; in the case where the destination terminal and the source terminal of the message do not belong to the same group, sending the message from an N6 interface to a data network (DN), so as to be sent to the destination terminal via the DN.

2. The packet forwarding method of claim 1, wherein, The determining whether the destination terminal and the source terminal of the message belong to the same group according to the first PDR comprises: determining slice identifier information or a data network name (DNN) corresponding to the message according to the first PDR; determining a group corresponding to the slice identifier information or the DNN as a to-be-matched group; matching the destination IP address of the message with an IP address segment corresponding to the to-be-matched group; and if the matching is successful, determining that the destination terminal and the source terminal of the message belong to the same group.

3. The packet forwarding method of claim 2, wherein, The IP address segment corresponding to each group is stored in different hash tables according to a mask length, and the destination IP address of the message is matched with the IP address segment corresponding to the to-be-matched group by performing a longest prefix matching.

4. The packet forwarding method of claim 1, wherein, Before finding the first PDR matched by the message according to the F-TEID of the message, the method further comprises: determining whether the message is a general packet radio service tunneling protocol user plane (GTP-U) message; in the case where the message is a GTP-U message, determining whether the message is a transfer protocol data unit (T-PDU) type message; in the case where the message is a T-PDU type message, recording information of the message, wherein the information of the message comprises an inner data offset.

5. The packet forwarding method of claim 4, wherein, After recording the information of the message, the method further comprises: determining whether the message is an uplink message; in the case where the message is an uplink message, distributing the message to a corresponding first worker thread according to the source IP address in the inner layer of the message, wherein messages with the same source IP address in the inner layer are distributed to the same worker thread. The finding the first PDR matched by the message according to the F-TEID of the message and the determining whether the destination terminal and the source terminal of the message belong to the same group according to the first PDR are performed in the first worker thread corresponding to the message.

6. The packet forwarding method of claim 1, further comprising: creating a first fast forwarding table entry, and adding the first fast forwarding table entry to a least recently used (LRU) linked list of the source terminal and a five-tuple hash table of a first worker thread corresponding to the packet, wherein the first fast forwarding table entry comprises five-tuple information of the packet and cache information of the first PDR.

7. The packet forwarding method of claim 1, wherein, the sending of the packet from the N3 interface to a base station connected to the destination terminal comprises: finding a second PDR matched by the packet according to a destination IP address of the packet; processing the packet according to the second PDR; querying a corresponding route according to an outer destination IP address of the packet; sending the packet from the N3 interface to a base station connected to the destination terminal according to the route.

8. The packet forwarding method of claim 7, wherein, before the finding of the second PDR matched by the packet according to the destination IP address of the packet, further comprising: distributing the packet to a corresponding second worker thread according to an inner destination IP address of the packet, wherein packets with the same inner destination IP address are distributed to the same worker thread; wherein the finding of the second PDR matched by the packet according to the destination IP address of the packet, the processing of the packet according to the second PDR, the querying of the corresponding route according to the outer destination IP address of the packet, and the sending of the packet from the N3 interface to the base station connected to the destination terminal according to the route are performed in the second worker thread corresponding to the packet.

9. The packet forwarding method of claim 7, wherein, the processing of the packet according to the second PDR comprises: obtaining a second packet forwarding rule according to the second PDR, wherein the second packet forwarding rule comprises at least one of a forwarding action rule (FAR), a buffering action rule (BAR), a quality of service enforcement rule (QER), and a usage reporting rule (URR); creating a second fast forwarding table entry, and adding the second fast forwarding table entry to an LRU linked list of the destination terminal and a five-tuple hash table of the second worker thread corresponding to the packet, wherein the second fast forwarding table entry comprises five-tuple information of the packet and cache information of the second PDR.

10. The packet forwarding method of claim 9, wherein, before the querying of the corresponding route according to the outer destination IP address of the packet, further comprising: processing the packet according to the second packet forwarding rule; determining whether there are tokens in a quality of service meter (QoS-meter) token bucket that exceed a length of the packet; in a case where there are tokens that exceed the length of the packet, encapsulating an outer header for the packet and calculating a check value.

11. The packet forwarding method of claim 2, further comprising: receiving exchange policy configuration information, wherein the exchange policy configuration information comprises slice identifier information or a DNN corresponding to different groups and IP address segments corresponding to different groups; storing the exchange policy configuration information.

12. The packet forwarding method of claim 1, further comprising: The signaling interaction of a packet forwarding control protocol (PFCP) with a session management function (SMF) through an N4 interface, wherein the signaling of the PFCP includes a PDR corresponding to a PFCP session.

13. A packet forwarding apparatus, comprising: a receiving unit configured to receive a packet transmitted through an N3 interface; a searching unit configured to search for a first packet detection rule (PDR) matched with the packet according to a full tunnel endpoint identifier (F-TEID) of the packet, and obtain a first packet forwarding rule according to the first PDR, wherein the first packet forwarding rule includes at least one of a forwarding action rule (FAR), a buffering action rule (BAR), a quality of service enforcement rule (QER), and a usage reporting rule (URR); a determining unit configured to decapsulate the packet according to the first PDR, process the packet according to the first packet forwarding rule, and determine whether there is a token exceeding a length of the packet in a quality of service meter (QoS-meter) token bucket; a sending unit configured to send the packet to a base station connected to a destination terminal of the packet through the N3 interface in a case where the destination terminal and a source terminal of the packet belong to a same group, so as to send the packet to the destination terminal through the base station, and send the packet to a data network (DN) through an N6 interface in a case where the destination terminal and the source terminal of the packet do not belong to the same group, so as to send the packet to the destination terminal through the DN.

14. A packet forwarding apparatus, comprising: a processor; and a memory coupled to the processor and configured to store instructions, which, when executed by the processor, cause the processor to perform the packet forwarding method of any one of claims 1-12.

15. A non-transitory computer readable storage medium having stored thereon a computer program, wherein, The program is executed by the processor to implement the steps of the method of any one of claims 1-12. The program is executed by the processor to implement the steps of the method of any one of claims 1-12.

Citation Information

Patent Citations

  • Data transmission method and device, electronic equipment and storage medium

    CN110719432A

  • Message transmission method and device

    CN111031080A