Data shunting method, device, storage medium and electronic device
By querying the traffic splitting policy table and performing NAT64 processing in the 5G dual-domain private network, the problem of IPv4 private address conflict was resolved, data transmission efficiency was improved, and differentiated forwarding of data packets was achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA TELECOM CORP LTD TECHNOLOGY INNOVATION CENTER
- Filing Date
- 2023-07-17
- Publication Date
- 2026-05-19
AI Technical Summary
In existing 5G dual-domain private networks, IPv4 private address conflicts lead to poor data transmission efficiency and a lack of effective data offloading strategies, especially in 5G networks deployed with IPv6 single-stack architecture.
A data splitting method is provided. By querying the splitting policy table, the method matches information such as IPv4 prefix and NAT64 prefix based on the destination address and source address to determine the forwarding policy of the data packet. The method then performs NAT64 processing or forwards the data directly, thereby avoiding IPv4 private address conflicts and improving data forwarding efficiency.
It enables differentiated forwarding based on packet type in a 5G dual-domain private network with IPv6 single stack, avoiding IPv4 private address conflicts and improving data transmission efficiency.
Smart Images

Figure CN116781619B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of data communication technology, and more specifically, to a data splitting method, apparatus, storage medium, and electronic device. Background Technology
[0002] A 5G dual-domain private network is a 2B2C network model that separates the public network and the internal network based on a 5G private network, providing 5G services to users. It meets users' needs for secure and fast access to both the office intranet and the mobile public network anytime, anywhere. In the 5G dual-domain private network architecture, the 5G network defaults to configuring users with both public IPv6 addresses and private IPv4 addresses, while the customer's intranet typically configures terminals with both private IPv4 addresses and public IPv6 addresses. However, systematic planning for private IPv4 addresses is often difficult. Therefore, the customer's intranet and the mobile communication network may be configured with the same private IPv4 address range, leading to the phenomenon of the same IPv4 address being assigned to multiple terminals within the private network.
[0003] However, current 5G networks typically employ a single-stack IPv6 deployment, meaning the network only assigns IPv6 addresses to terminals. For 5G networks deployed with a single IPv6 stack, the related technologies lack data offloading strategies for 5G dual-domain private networks, resulting in poor data transmission efficiency. Summary of the Invention
[0004] The purpose of this disclosure is to provide a data offloading method, a data offloading device, a storage medium, and an electronic device that can complete data offloading during the data forwarding process of 5G dual-domain private network according to the offloading strategy table, thereby improving the data forwarding efficiency.
[0005] According to a first aspect of this disclosure, a data offloading method is provided, comprising: receiving a data packet and obtaining the destination address and source address of the data packet; querying a offloading policy table, and in response to the existence of an entry in the offloading policy table that matches the destination address and the source address, matching the destination address with the IPv4 prefix and NAT64 prefix in the entry to obtain a matching result; the information of the entry includes user plane function network element identification information, IPv4 prefix, NAT64 prefix, IPv6 prefix and source address prefix; determining a forwarding policy for the data packet based on the matching result, and forwarding the data packet according to the forwarding policy.
[0006] In some exemplary embodiments of this disclosure, based on the foregoing technical solution, the forwarding strategy of the data packet is determined according to the matching result, including: if the matching result is that the destination address is synthesized based on the IPv4 prefix and NAT64 prefix in the entry, then the user plane function network element with the highest priority among the multiple entries that match the matching result is taken as the target user plane function network element; the data packet is forwarded to the target user plane function network element, and the data packet is processed by NAT64 function.
[0007] In some exemplary embodiments of this disclosure, based on the foregoing technical solution, the data packet is an IPv6 data packet. The data packet is forwarded to the target user plane function network element, and the data packet is processed by NAT64 function, including: converting the data packet into an IPv4 data packet and forwarding the IPv4 data packet to the target user plane function network element; or forwarding the data packet to the target user plane function network element, and the target user plane function network element converts the data packet into an IPv4 data packet.
[0008] In some exemplary embodiments of this disclosure, based on the foregoing technical solution, determining the forwarding strategy of the data packet according to the matching result includes: if the matching result is that the destination address is not synthesized according to the IPv4 prefix and NAT64 prefix in the entry, then determining whether there is a target IPv6 prefix corresponding to the destination address among all IPv6 prefixes in the entry; in response to the existence of a target IPv6 prefix matching the destination address, selecting the user plane function network element that meets the preset priority condition among the multiple entries that meet the matching result as the target user plane function network element, and forwarding the data packet to the target user plane function network element.
[0009] In some exemplary embodiments of this disclosure, based on the foregoing technical solution, the data diversion method further includes: in response to the absence of a target IPv6 prefix corresponding to the destination address among all IPv6 prefixes of the entry, forwarding the data packet according to a conventional strategy.
[0010] In some exemplary embodiments of this disclosure, based on the foregoing technical solution, the data diversion method further includes: if there is no entry in the diversion strategy table that matches the destination address and the source address, then the data packet is forwarded according to the conventional strategy.
[0011] In some exemplary embodiments of this disclosure, based on the foregoing technical solutions, the traffic splitting policy table includes multiple entries, each entry including one or more of the following: user plane function network element identification information, IPv6 prefix, IPv4 prefix, NAT64 prefix, source address prefix, home province, and priority information.
[0012] According to a second aspect of this disclosure, a data splitting device is provided, comprising: an address acquisition module for receiving data packets and acquiring the destination address and source address of the data packets; an entry matching module for querying a splitting policy table, and in response to the existence of an entry in the splitting policy table that matches the destination address and the source address, matching the destination address with the IPv4 prefix and NAT64 prefix in the entry to obtain a matching result; the information of the entry includes user plane function network element identification information, IPv4 prefix, NAT64 prefix, IPv6 prefix and source address prefix; and a policy determination module for determining the forwarding policy of the data packets based on the matching result, and forwarding the data packets according to the forwarding policy.
[0013] According to a third aspect of this disclosure, a computer-readable storage medium is provided, on which a computer program is stored, which, when executed by a processor, implements the data splitting method of the first aspect described above and its possible implementations.
[0014] According to a fourth aspect of this disclosure, an electronic device is provided, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to execute the data splitting method of the first aspect and possible implementations thereof by executing the executable instructions.
[0015] In the technical solution provided by this disclosure, in response to the existence of an entry matching the destination address and source address in the traffic splitting policy table, a forwarding policy for the data packet is determined based on the matching result of the destination address and the IPv4 prefix and NAT64 prefix in the entry, and the data packet is forwarded according to the forwarding policy. On the one hand, determining the forwarding policy for the data packet based on the matching result of the destination address and the IPv4 prefix and NAT64 prefix in the entry allows for the differentiation of data packet types based on the destination address, thereby applying different forwarding policies to different data packets and completing data splitting; on the other hand, applying different forwarding policies to different types of data packets can improve data forwarding efficiency.
[0016] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description
[0017] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure. It is obvious that the drawings described below are merely some embodiments of this disclosure, and those skilled in the art can obtain other drawings based on these drawings without any inventive effort.
[0018] Figure 1 A schematic diagram illustrates an application scenario where the data splitting method of the present disclosure embodiments can be applied.
[0019] Figure 2 The schematic diagram illustrates a data splitting method according to an embodiment of the present disclosure.
[0020] Figure 3 A schematic diagram of a traffic splitting strategy table is shown in an embodiment of this disclosure.
[0021] Figure 4 A schematic diagram of a system architecture to which the data offloading method of embodiments of the present disclosure can be applied is shown.
[0022] Figure 5 The schematic diagram illustrates a flow chart of another data splitting method in an embodiment of this disclosure.
[0023] Figure 6 A block diagram of a data splitting device according to an embodiment of the present disclosure is shown schematically.
[0024] Figure 7 A block diagram of an electronic device according to an embodiment of the present disclosure is shown schematically. Detailed Implementation
[0025] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided to make this disclosure more comprehensive and complete, and to fully convey the concept of the example embodiments to those skilled in the art. The described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a full understanding of embodiments of this disclosure. However, those skilled in the art will recognize that the technical solutions of this disclosure can be practiced with one or more specific details omitted, or other methods, components, apparatus, steps, etc., can be employed. In other instances, well-known technical solutions are not shown or described in detail to avoid obscuring various aspects of this disclosure.
[0026] Furthermore, the accompanying drawings are merely illustrative of this disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and therefore repeated descriptions of them will be omitted. Some block diagrams shown in the drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.
[0027] 5G dual-domain private networks are a 2B2C dual-domain network model based on 5G private networks, providing services to 5G users. They meet the needs of enterprise users for seamless switching between internal and public networks without changing SIM cards or phone numbers, enabling users to access the office intranet and the internet anytime, anywhere, securely and quickly, thus facilitating mobile and flexible office operations. Furthermore, 5G dual-domain private networks are applicable to various scenarios where "core data must not leak." By identifying and effectively distributing data between the public and internal networks, office data requests are routed to the internal network for processing, achieving secure and isolated access. On the other hand, 5G dual-domain private networks supplement existing Wi-Fi network coverage, ensuring no Wi-Fi dead zones and providing access to the internal network in remote environments, enhancing network control capabilities and scalability.
[0028] Current 5G networks typically employ a single-stack IPv6 deployment, meaning the network only assigns IPv6 addresses to terminals. For this single-stack IPv6 deployment, NAT64 and DNS64 technologies are used to enable access to both IPv4 and IPv6 services while only assigning IPv6 addresses to terminals. NAT64 and DNS64 are translation-based IPv6 transition technologies; IPv4 packets are converted into IPv6 packets using translation algorithms, enabling transmission within the IPv6 network. The NAT64 prefix is used to synthesize IPv6 addresses from IPv4 addresses and instructs the synthesized IPv6 packets to be routed to the NAT64 interface deployed in the network—the IPv6 network exit point. This can be used as a strategy for offloading network data traffic.
[0029] However, existing 5G dual-domain private network architectures often suffer from IPv4 private address conflicts. Specifically, 5G networks by default configure users with both public IPv6 addresses and private IPv4 addresses, while customer intranets typically configure terminals with both private IPv4 addresses and public IPv6 addresses. However, systematic planning for IPv4 private addresses is often difficult, leading to situations where the customer intranet and the mobile communication network may be configured with the same IPv4 private address range, resulting in the same IPv4 address being assigned to multiple terminals within the private network. Therefore, avoiding IPv4 private address conflicts during data transmission in IPv6 single-stack 5G dual-domain private networks is a pressing issue that needs to be addressed.
[0030] Furthermore, in IPv6 single-stack 5G networks, NAT64 functionality can be deployed, and the network needs to support NAT64 prefix-based traffic splitting rules. This enables access to IPv4 and IPv6 services and data splitting within a 5G dual-domain private network deployed on an IPv6 single-stack basis. However, related technologies lack data splitting strategies for 5G dual-domain private networks deployed on an IPv6 single-stack basis, resulting in poor data transmission efficiency.
[0031] To address the aforementioned technical issues, this disclosure provides a data splitting method that can be applied to the data transmission process of a 5G dual-domain private network based on IPv6 single stack, thereby achieving data splitting during the data forwarding process of the 5G dual-domain private network and improving data forwarding efficiency. Figure 1 A schematic diagram of a system architecture for which the data splitting method and apparatus of the present disclosure embodiments can be applied is shown.
[0032] like Figure 1As shown, the system architecture 100 may include terminal device 101, a network, uplink User Plane Function (UPF) network elements, and downlink UPF, etc. The network serves as the transmission medium for providing a communication link between the terminal device and the UPF, primarily for transmitting data packets. The network may include various connection types, such as wired, wireless communication links, or fiber optic cables, etc. The terminal device 101 may be various electronic devices, including but not limited to desktop computers, laptops, smartphones, and tablets, etc. It should be understood that... Figure 1 The number of terminal devices 101, uplink UPF101 and downlink UPF102 in the diagram is merely illustrative. Depending on the implementation requirements, there can be any number of terminal devices and UPFs.
[0033] For example, in this embodiment of the disclosure, terminal device 101 may send a data packet, uplink UPF 102 may receive the data packet and obtain the destination address and source address of the data packet, then the uplink UPF may query a pre-stored traffic splitting policy table, and in response to the existence of an entry in the traffic splitting policy table that matches the destination address and source address, the destination address may be matched with the IPv4 prefix and NAT64 prefix in the entry to obtain a matching result, and the information of the entry may include user plane function network element identification information, IPv4 prefix, NAT64 prefix, IPv6 prefix and source address prefix; finally, the forwarding policy of the data packet is determined according to the matching result, and the data packet is forwarded to downlink UPF 103 according to the forwarding policy. The downlink UPF performs subsequent processing on the data packet after receiving it.
[0034] However, those skilled in the art will readily understand that the above application scenarios are merely illustrative and are not intended to limit the scope of this exemplary embodiment. Based on this, this disclosure provides a data offloading method. The data offloading method in this disclosure is illustrated using a 5G dual-domain private network based on an IPv6 single-stack as an application scenario. (See reference...) Figure 2 The following diagram illustrates each step of the data splitting method in the embodiments of this disclosure.
[0035] In step S210, a data packet is received, and the destination address and source address of the data packet are obtained.
[0036] In this embodiment of the disclosure, a data packet can represent the basic unit of data transmission between a user's terminal device (UE) and the network. The data packet can contain information about user communication, such as audio, video, images, and control information. The destination address can represent the address of the target device or network to which the data packet is to be sent. It specifies the final destination of the data packet to ensure that the data packet can be correctly transmitted to the target device or network. The destination address can be a unique identifier, such as an IPv4 address or an IPv6 address. The source address can represent the address of the source device or network from which the data packet was sent. It can be used to identify the source of the data packet so that the receiver can determine the source of the data packet and respond or process it. The source address can also typically be a unique identifier, such as an IPv4 address or an IPv6 address.
[0037] In this embodiment of the disclosure, after receiving the data packet sent by the user terminal, the user plane function (UPF) of the uplink network parses and processes the data packet to obtain the destination address and source address in the data packet. In this embodiment of the disclosure, in a 5G dual-domain private network based on IPv6 single stack, in order to avoid the problem of IPv4 private address conflicts in the dual-domain private network, the IPv6 public network address is used as the user source address, that is, the IPv6 public network address is used as the source address of the data packet.
[0038] In step S220, the traffic splitting policy table is queried, and in response to the existence of an entry in the traffic splitting policy table that matches the destination address and the source address, the destination address is matched with the IPv4 prefix and NAT64 prefix in the entry to obtain the matching result; the information of the entry includes user plane function network element identification information, IPv4 prefix, NAT64 prefix, IPv6 prefix and source address prefix.
[0039] The traffic splitting policy table can be used to determine the type of data packets based on the prefix information in the table, thereby completing the traffic splitting operation. Specifically, the User Plane Function Network Element (UPF) identification information can be used to match the target UPF, the IPv4 prefix, NAT64 prefix, and IPv6 prefix can be used to match the destination address, and the source address prefix can be used to match the source address. In this embodiment, a NAT64 prefix allocation module can be configured in the UPF to allocate prefix information according to the location of the UPF in the network.
[0040] In some embodiments, the traffic offloading policy table may include multiple entries, each entry including one or more of the following: user plane function network element identification information, IPv6 prefix, IPv4 prefix, NAT64 prefix, source address prefix, home province, and priority information.
[0041] Figure 3A schematic diagram of a traffic splitting strategy table is shown in an embodiment of this disclosure. (See reference...) Figure 3 The traffic splitting policy table contains multiple entries. Prefix information within these entries is used to match the source and destination addresses of data packets, thus determining the packet type. Specifically, the user source address prefix matches the source address, while the IPv6, IPv4, and NAT64 prefixes match the destination address. If the destination address can be synthesized from the IPv4 and NAT64 prefixes in the entry, indicating a NAT64 address, then the IPv6 packet needs to be converted to the corresponding IPv4 packet, enabling the IPv6 network to communicate with IPv4 resources. If the destination address matches the IPv6 prefix in the entry, the transmission target is an IPv6 resource, and no NAT64 conversion is required. Furthermore, the User Plane Function (UPF) identifier information in the entries facilitates network identification of the UPF, the home province helps quickly determine the UPF's location, and priority information allows the UPF to determine the packet transmission order based on priority, thereby improving data transmission efficiency.
[0042] In this embodiment of the disclosure, after the uplink UPF obtains the destination address and source address of the data packet, it queries the traffic splitting policy table to determine whether there are entries in the traffic splitting policy table that correspond to the destination address and the source address. That is, it determines whether there is prefix information corresponding to the destination address and the source address in the entries of the traffic splitting policy table. If there is, the destination address and the prefix information in the entry are matched to obtain the matching result.
[0043] In some embodiments, if there is no entry in the traffic splitting policy table that matches the destination address and the source address, the data packet is forwarded according to the normal policy.
[0044] In this embodiment, the conventional forwarding strategy means that data packets are not routed or their forwarding priority is determined using a traffic splitting strategy table; instead, the target object is queried sequentially in the network based on its destination address. If no entry matching the destination and source addresses exists in the traffic splitting strategy table, the table can be updated based on the source and destination addresses of the data packets while forwarding them according to the conventional strategy. This increases the number of entries in the traffic splitting strategy table and reduces the number of cases where data packets cannot be routed, thus improving data packet routing and network data transmission efficiency.
[0045] Continue to refer to Figure 2 In step S230, the forwarding strategy for the data packet is determined based on the matching result, and the data packet is forwarded according to the forwarding strategy.
[0046] The matching result indicates the match between the destination address of the data packet and the prefix information in the traffic splitting policy table. Based on the matching result, the type of data packet is determined, and different forwarding strategies are applied to different types of data packets, thus achieving traffic splitting.
[0047] In some embodiments, determining the forwarding strategy for data packets based on the matching result specifically includes the following steps: if the matching result is that the destination address is synthesized based on the IPv4 prefix and NAT64 prefix in the entry, then the user plane function network element with the highest priority among the multiple entries that match the matching result is selected as the target user plane function network element; the data packet is forwarded to the target user plane function network element, and NAT64 processing is performed on the data packet. Here, NAT64 processing can represent the conversion processing between IPv6 data packets and IPv4 data packets.
[0048] Specifically, the matching result is that the destination address is synthesized based on the IPv4 prefix and NAT64 prefix in the entry. This means that the destination address can be synthesized based on the IPv4 prefix and NAT64 prefix in the corresponding entry, so the destination address is a NAT64 address. Therefore, IPv6 packets need to be converted into corresponding IPv4 packets to complete communication between the IPv6 network and IPv4 resources. After determining multiple entries corresponding to the destination address, the target user plane function element (UPF) can be determined based on the priority information in the entries. For example, the UPF with the highest priority can be used as the target UPF, or the UPF with the top three priorities can be used as the target UPF. Of course, other priority strategies can also be used to determine the target UPF; this exemplary embodiment does not impose any special limitations here.
[0049] In some embodiments, the data packet is an IPv6 data packet. Forwarding the data packet to the target user plane function network element and performing NAT64 processing on the data packet specifically includes the following steps: converting the data packet into an IPv4 data packet and forwarding the IPv4 data packet to the target user plane function network element; or forwarding the data packet to the target user plane function network element and having the target user plane function network element convert the data packet into an IPv4 data packet.
[0050] Specifically, after determining that the destination address, which can be synthesized from the IPv4 prefix and NAT64 prefix in the corresponding entry, indicates that the target object is an IPv4 resource, it is necessary to convert IPv6 packets to IPv4 packets. Specifically, this can be done on the local UPF (upstream user UPF) using NAT64 (Network Address Translation 64) elements, converting IPv6 packets to IPv4 packets, and then forwarding the IPv4 packets to the target UPF, i.e., forwarding the IPv4 packets to the downstream UPF. Alternatively, the data conversion can be completed on the downstream UPF. Specifically, the upstream UPF first forwards the packets to the target UPF, and then the target UPF converts the packets to IPv4 packets and performs subsequent processing.
[0051] In some embodiments, determining the forwarding strategy of data packets based on the matching result specifically includes the following steps: if the matching result is that the destination address is not synthesized based on the IPv4 prefix and NAT64 prefix in the entry, then it is determined whether there is a target IPv6 prefix that matches the destination address among all IPv6 prefixes in the entry; in response to the existence of a target IPv6 prefix that matches the destination address, the user plane function network element that meets the priority conditions among the multiple entries that meet the matching result is taken as the target user plane function network element, and the data packet is forwarded to the target user plane function network element.
[0052] Specifically, if the traffic splitting policy table does not contain any IPv4 prefixes or NAT64 prefixes that can be synthesized to form the destination address, it can be determined whether there is a target IPv6 prefix that matches the destination address among all IPv6 prefixes in the entry. If the destination address can match the IPv6 prefix in the entry, it indicates that the transmission target is an IPv6 resource, and NAT64 processing is not required. The user's uplink UPF can forward the data packet to the target UPF whose priority meets the preset conditions. The preset conditions for priority can be the highest priority, or a priority in the top three, etc. This exemplary embodiment does not specifically limit the preset conditions for priority.
[0053] In some embodiments, if the traffic splitting policy table does not contain an IPv4 prefix and a NAT64 prefix that can be used to synthesize the destination address, and there is no target IPv6 prefix that matches the destination address, then the data packet can be forwarded according to the regular forwarding policy. That is, the corresponding target object is queried in the network based on the address information of the data packet.
[0054] Figure 4 A schematic diagram of a system architecture to which the data offloading method of embodiments of this disclosure can be applied is shown. (See reference...) Figure 4As shown, in a 5G dual-domain private network based on IPv6 single stack, users establish a communication connection with a 5G base station through a mobile terminal and send data packets to the base station. The base station is configured with AMF (Access and Mobility Management Function) network elements, SMF (Session Management Function) network elements, UPF network elements, and DNS64 (Domain Name System 64) network elements. The AMF network element manages device access and mobility, including device location management, handover, and paging, to ensure device mobility within the network. The SMF network element handles functions such as session establishment and QoS policy allocation for terminal devices. The UPF network element forwards data packets and performs NAT64 translation to ensure correct data transmission and processing. The DNS64 network element provides DNS resolution services for IPv6 to IPv4 conversion.
[0055] Figure 4 In the diagram, ① and ② represent the prefix information and UPF identification information in two entries of the traffic splitting policy table, respectively. After the UPF on the base station receives the data packet, it obtains the destination address and source address of the data packet, then queries the traffic splitting policy table. In response to the existence of an entry in the traffic splitting policy table that matches the destination address and source address, it matches the destination address with the IPv4 prefix and NAT64 prefix in the entry to obtain the matching result. Finally, based on the matching result, it determines the forwarding policy for different data packets and forwards the data packet to the downlink UPF according to the forwarding policy.
[0056] Figure 5 The schematic diagram illustrates a data splitting method according to an embodiment of the present disclosure.
[0057] in:
[0058] In step S502, the UPF receives the uplink data packet from the user and obtains the destination address and source address of the data packet.
[0059] In step S504, the UPF queries the traffic splitting policy table to determine whether there are entries in the traffic splitting policy table that match the destination address and the source address. If yes, then step S506 is executed; otherwise, step S518 is executed.
[0060] In step S506, if the UPF finds an entry in the traffic splitting policy table that matches the destination address and the source address, it determines whether the destination address is synthesized based on the IPv4 prefix and NAT64 prefix in the entry. If yes, step S508 is executed; otherwise, step S510 is executed.
[0061] In step S508, if the destination address is synthesized based on the IPv4 prefix and NAT64 prefix in the entry, then the UPF with the highest priority is selected from the entries that meet the conditions as the target UPF.
[0062] In step S510, the data packet is forwarded to the target UPF and NAT64 processing is performed on the data packet. Specifically, the data packet is converted into an IPv4 data packet and forwarded to the target user plane function network element, or the data packet is forwarded to the target user plane function network element and the target user plane function network element converts the data packet into an IPv4 data packet.
[0063] In step S512, if there is no IPv4 prefix or NAT64 prefix in the entry that can be used to synthesize the destination address, then it is determined whether there is a target IPv6 prefix that matches the destination address among all IPv6 prefixes in the entry. If yes, then step S514 is executed; otherwise, step S518 is executed.
[0064] In step S514, if there is a target IPv6 prefix that matches the destination address among all IPv6 prefixes in the entry, then the UPF that meets the priority condition among the multiple entries that meet the matching result is taken as the target UPF.
[0065] In step S516, the data packet is forwarded to the target UPF.
[0066] In step S518, the data packets are forwarded according to the conventional strategy.
[0067] The technical solution in this disclosure can forward data based on the source address of IPv6, avoiding the problem of IPv4 private address conflicts in 5G dual-domain private networks based on a single IPv6 stack. Moreover, the NAT64 function can be implemented by a separate device attached to the UPF or by the UPF itself. Furthermore, the UPF uses different processing methods for IPv6 source packets and IPv6 composite packets, thereby distinguishing the type of packets based on the destination address and forwarding the packets to a specific UPF for related operations. This also completes the data traffic splitting operation, thus realizing a traffic splitting scheme based on a single IPv6 protocol stack.
[0068] In the technical solution provided by this disclosure, in response to the existence of an entry matching the destination address and source address in the traffic splitting policy table, a forwarding policy for the data packet is determined based on the matching result of the destination address and the IPv4 prefix and NAT64 prefix in the entry, and the data packet is forwarded according to the forwarding policy. On the one hand, determining the forwarding policy for the data packet based on the matching result of the destination address and the IPv4 prefix and NAT64 prefix in the entry allows for the differentiation of data packet types based on the destination address, thereby applying different forwarding policies to different data packets and completing data splitting; on the other hand, applying different forwarding policies to different types of data packets can improve data forwarding efficiency.
[0069] This disclosure also provides a data splitting device, referencing... Figure 6 As shown, the data diversion device 600 may include: an address acquisition module 601, an entry matching module 602, and a policy determination module 603. Wherein:
[0070] Address acquisition module 601 can be used to receive data packets and obtain the destination address and source address of the data packets; entry matching module 602 can be used to query the traffic splitting policy table, and in response to the existence of entries matching the destination address and source address in the traffic splitting policy table, match the destination address with the IPv4 prefix and NAT64 prefix in the entry to obtain the matching result; the information of the entry includes user plane function network element identification information, IPv4 prefix, NAT64 prefix, IPv6 prefix and source address prefix; policy determination module 603 can be used to determine the forwarding policy of the data packets according to the matching result, and forward the data packets according to the forwarding policy.
[0071] In one exemplary embodiment of this disclosure, the policy determination module includes: a target user plane function network element determination unit, which can be used to determine the user plane function network element with the highest priority among multiple entries that match the matching result if the destination address is synthesized based on the IPv4 prefix and NAT64 prefix in the entry; and a data forwarding and processing unit, which can be used to forward data packets to the target user plane function network element and perform NAT64 function processing on the data packets.
[0072] In one exemplary embodiment of this disclosure, the data packet is an IPv6 data packet, and the data forwarding and processing unit is configured to: convert the data packet into an IPv4 data packet and forward the IPv4 data packet to the target user plane function network element; or forward the data packet to the target user plane function network element, and the target user plane function network element converts the data packet into an IPv4 data packet.
[0073] In one exemplary embodiment of this disclosure, the policy determination module includes: a target prefix determination module, which can be used to determine whether there is a target IPv6 prefix corresponding to the destination address among all IPv6 prefixes in the entry if the matching result is that the destination address is not synthesized based on the IPv4 prefix and NAT64 prefix in the entry; and a data forwarding module, which can be used to, in response to the existence of a target IPv6 prefix that matches the destination address, select the user plane function network element that meets the priority conditions among the multiple entries that meet the matching result as the target user plane function network element, and forward the data packet to the target user plane function network element.
[0074] In one exemplary embodiment of this disclosure, the data forwarding module may also be configured to forward data packets according to a conventional strategy in response to the absence of a target IPv6 prefix that matches the destination address.
[0075] In one exemplary embodiment of this disclosure, the data splitting device further includes a conventional policy forwarding module, which can be used to forward data packets according to a conventional policy if there is no entry in the splitting policy table that matches the destination address and the source address.
[0076] In one exemplary embodiment of this disclosure, the traffic splitting policy table includes multiple entries, each entry including one or more of the following: user plane function network element identification information, IPv6 prefix, IPv4 prefix, NAT64 prefix, source address prefix, home province, and priority information.
[0077] It should be noted that the specific details of each part of the above-mentioned data diversion device have been described in detail in some embodiments of the corresponding method. For details that are not disclosed, please refer to the implementation content of the method section, and therefore will not be repeated here.
[0078] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to embodiments of this disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.
[0079] Furthermore, although the steps of the method in this disclosure are described in a specific order in the accompanying drawings, this does not require or imply that the steps must be performed in that specific order, or that all the steps shown must be performed to achieve the desired result. Additional or alternative steps may be omitted, multiple steps may be combined into one step, and / or a step may be broken down into multiple steps.
[0080] In exemplary embodiments of this disclosure, a computer-readable storage medium is also provided, on which a program product capable of implementing the methods described above is stored. In some possible implementations, various aspects of this disclosure may also be implemented as a program product including program code that, when the program product is run on a terminal device, causes the terminal device to perform the steps of the various exemplary embodiments of this disclosure described in the "Exemplary Methods" section above.
[0081] The program product for implementing the above-described method according to embodiments of the present disclosure may employ a portable compact disc read-only memory (CD-ROM) and include program code, and may run on a terminal device, such as a personal computer. However, the program product of the present disclosure is not limited thereto. In this document, the readable storage medium may be any tangible medium containing or storing a program that may be used by or in conjunction with an instruction execution system, apparatus, or device.
[0082] The program product may employ any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0083] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, carrying readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium, capable of sending, propagating, or transmitting programs for use by or in conjunction with an instruction execution system, apparatus, or device.
[0084] The program code contained on the readable medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.
[0085] Program code for performing the operations of this disclosure can be written in any combination of one or more programming languages, including object-oriented programming languages such as Java and C++, and conventional procedural programming languages such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's computing device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0086] In an exemplary embodiment of this disclosure, an electronic device capable of implementing the above-described method is also provided.
[0087] Those skilled in the art will understand that various aspects of this disclosure can be implemented as systems, methods, or program products. Therefore, various aspects of this disclosure can be specifically implemented in the following forms: entirely in hardware, entirely in software (including firmware, microcode, etc.), or in a combination of hardware and software, collectively referred to herein as “circuit,” “module,” or “system.”
[0088] The following reference Figure 7 To describe an electronic device 700 according to such an embodiment of the present disclosure. Figure 7 The electronic device 700 shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments disclosed herein.
[0089] like Figure 7 As shown, the electronic device 700 is manifested in the form of a general-purpose computing device. The components of the electronic device 700 may include, but are not limited to: at least one processing unit 710, at least one storage unit 720, a bus 730 connecting different system components (including storage unit 720 and processing unit 710), and a display unit 740.
[0090] The storage unit stores program code that can be executed by the processing unit 710, causing the processing unit 710 to perform the steps described in the "Exemplary Methods" section of this specification according to various exemplary embodiments of this disclosure. For example, the processing unit 710 can perform actions such as... Figure 2 The steps are shown in the figure.
[0091] Storage unit 720 may include a readable medium in the form of a volatile storage unit, such as random access memory (RAM) 7201 and / or cache memory 7202, and may further include a read-only memory (ROM) 7203.
[0092] The storage unit 720 may also include a program / utility 7204 having a set (at least one) program module 7205, such program module 7205 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each or some combination of these examples may include an implementation of a network environment.
[0093] Bus 730 can represent one or more of several types of bus structures, including a memory cell bus or memory cell controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local bus using any of the various bus structures.
[0094] Electronic device 700 can also communicate with one or more external devices 800 (e.g., keyboard, pointing device, Bluetooth device, etc.), and with one or more devices that enable a user to interact with electronic device 700, and / or with any device that enables electronic device 700 to communicate with one or more other computing devices (e.g., router, modem, etc.). This communication can be performed via input / output (I / O) interface 750. Furthermore, electronic device 700 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 760. As shown, network adapter 760 communicates with other modules of electronic device 700 via bus 730. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with electronic device 700, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0095] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, terminal device, or electronic device, etc.) to execute the methods according to the embodiments of this disclosure.
[0096] Furthermore, the above figures are merely illustrative of the processes included in the method according to exemplary embodiments of this disclosure and are not intended to be limiting. It is readily understood that the processes shown in the above figures do not indicate or limit the temporal order of these processes. Additionally, it is readily understood that these processes may be executed synchronously or asynchronously, for example, in multiple modules.
[0097] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention described herein. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not invented by this disclosure. The specification and embodiments are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the claims.
Claims
1. A data splitting method, characterized in that, include: Receive data packets and obtain the destination address and source address of the data packets; Query the traffic splitting policy table, and in response to the existence of an entry in the traffic splitting policy table that matches the destination address and the source address, match the destination address with the IPv4 prefix and NAT64 prefix in the entry to obtain the matching result; The information in the entry includes user plane function network element identification information, IPv4 prefix, NAT64 prefix, IPv6 prefix, and source address prefix; The forwarding strategy for the data packet is determined based on the matching result, and the data packet is forwarded according to the forwarding strategy.
2. The data splitting method according to claim 1, characterized in that, Determining the forwarding strategy for the data packet based on the matching result includes: If the matching result is that the destination address is synthesized based on the IPv4 prefix and NAT64 prefix in the entry, then the user plane function network element with the highest priority among the multiple entries that match the matching result shall be taken as the target user plane function network element. The data packet is forwarded to the target user plane function network element, and the data packet is processed using NAT64.
3. The data splitting method according to claim 2, characterized in that, The data packet is an IPv6 data packet. Forwarding the data packet to the target user plane function network element and performing NAT64 processing on the data packet includes: Convert the data packet into an IPv4 data packet and forward the IPv4 data packet to the target user plane function element; or The data packet is forwarded to the target user plane function network element, and the target user plane function network element converts the data packet into an IPv4 data packet.
4. The data splitting method according to claim 2, characterized in that, Determining the forwarding strategy for the data packet based on the matching result includes: If the matching result is that the destination address is not synthesized based on the IPv4 prefix and NAT64 prefix in the entry, then it is determined whether there is a target IPv6 prefix that matches the destination address among all IPv6 prefixes in the entry; In response to the existence of a target IPv6 prefix that matches the destination address, the user plane function network element that meets the priority conditions among the multiple entries that match the results is selected as the target user plane function network element, and the data packet is forwarded to the target user plane function network element.
5. The data splitting method according to claim 4, characterized in that, The method further includes: In response to the absence of a target IPv6 prefix matching the destination address, the data packet is forwarded according to the normal policy.
6. The data splitting method according to claim 1, characterized in that, The method further includes: If there is no entry in the traffic splitting policy table that matches the destination address and the source address, the data packet is forwarded according to the normal policy.
7. The data splitting method according to claim 1, characterized in that, The traffic splitting policy table includes multiple entries, each of which includes one or more of the following: user plane function network element identification information, IPv6 prefix, IPv4 prefix, NAT64 prefix, source address prefix, home province, and priority information.
8. A data splitting device, characterized in that, include: The address acquisition module is used to receive data packets and acquire the destination address and source address of the data packets; The entry matching module is used to query the traffic splitting policy table, and in response to the existence of an entry in the traffic splitting policy table that matches the destination address and the source address, it matches the destination address with the IPv4 prefix and NAT64 prefix in the entry to obtain the matching result; The information in the entry includes user plane function network element identification information, IPv4 prefix, NAT64 prefix, IPv6 prefix, and source address prefix; The strategy determination module is used to determine the forwarding strategy of the data packet based on the matching result, and to forward the data packet according to the forwarding strategy.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the data splitting method according to any one of claims 1-7.
10. An electronic device, characterized in that, include: processor; as well as Memory for storing the executable instructions of the processor; The processor is configured to execute the data splitting method according to any one of claims 1-7 by executing the executable instructions.