CN111083795B - Message forwarding method and device - Google Patents

Message forwarding method and device Download PDF

Info

Publication number
CN111083795B
CN111083795B CN201911344732.1A CN201911344732A CN111083795B CN 111083795 B CN111083795 B CN 111083795B CN 201911344732 A CN201911344732 A CN 201911344732A CN 111083795 B CN111083795 B CN 111083795B
Authority
CN
China
Prior art keywords
s1ap
enb
virtual cpu
signaling message
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911344732.1A
Other languages
Chinese (zh)
Other versions
CN111083795A (en
Inventor
井军平
李艳华
朱梁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou DPtech Information Technology Co Ltd
Original Assignee
Hangzhou DPtech Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou DPtech Information Technology Co Ltd filed Critical Hangzhou DPtech Information Technology Co Ltd
Priority to CN201911344732.1A priority Critical patent/CN111083795B/en
Publication of CN111083795A publication Critical patent/CN111083795A/en
Application granted granted Critical
Publication of CN111083795B publication Critical patent/CN111083795B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/52Allocation or scheduling criteria for wireless resources based on load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/20Control channels or signalling for resource management

Abstract

The application provides a message forwarding method and device. A message forwarding method is applied to network equipment and comprises the following steps: when an S1AP signaling message is received through a control surface interface S1-MME, a terminal identification eNB UE S1AP ID carried by the S1AP signaling message is obtained; the eNB UE S1AP ID is used for indicating an identifier distributed to a terminal by an evolved node B eNB; determining a target virtual CPU for processing the S1AP signaling message from all divided virtual CPUs according to the S1AP ID of the eNB UE; and distributing the S1AP signaling message to the target virtual CPU. By the method, the S1AP signaling messages can be uniformly distributed to each virtual CPU, so that the utilization rate of the CPU is improved.

Description

Message forwarding method and device
Technical Field
The present application relates to the field of communications technologies, and in particular, to a method and an apparatus for forwarding a packet.
Background
In order to improve the processing performance of the device, a physical CPU of the device is usually divided into a plurality of virtual CPUs, and after receiving a message, the device allocates the message to a corresponding virtual CPU for processing according to an IP address of the message.
However, in a Long Term Evolution (LTE) network, since a large number of terminals may be connected to the same Evolved Node B (eNB), different S1AP signaling messages sent to the same Mobility Management Entity (MME) may include information of different terminals, but source IP addresses are IP addresses of the eNB and destination IP addresses are IP addresses of the MME. Therefore, when the device for processing the S1AP signaling message allocates the message according to the IP address, a large number of S1AP signaling messages containing different terminal information, which are sent to the same MME by the same eNB, are allocated to the same virtual CPU for processing. The same is true for the processing of S1AP signaling messages sent by the same MME to the same eNB. In this non-uniform message distribution manner, the utilization rate of the CPU is low.
Disclosure of Invention
The application provides a message forwarding method and a message forwarding device, which are used for determining a virtual CPU (Central processing Unit) for processing a message according to an eNB UE S1AP ID carried in an S1AP signaling message. The technical scheme provided by the application is as follows:
in a first aspect, the present application provides a packet forwarding method, applied to a network device, where the method includes:
when an S1AP signaling message is received through a control surface interface S1-MME, a terminal identification eNB UE S1AP ID carried by the S1AP signaling message is obtained; the eNB UE S1AP ID is used for indicating an identifier distributed to a terminal by an evolved node B eNB;
determining a target virtual CPU for processing the S1AP signaling message from all divided virtual CPUs according to the eNB UE S1AP ID;
and distributing the S1AP signaling message to the target virtual CPU.
In a second aspect, the present application provides a packet forwarding apparatus, which is applied to a network device, and includes:
an obtaining unit, configured to obtain a terminal identifier eNB UE S1AP ID carried in an S1AP signaling message when the S1AP signaling message is received through a control plane interface S1-MME; the eNB UE S1AP ID is used for indicating an identifier distributed to a terminal by an evolved node B eNB;
a determining unit, configured to determine, according to the eNB UE S1AP ID, a target virtual CPU for processing the S1AP signaling packet from all divided virtual CPUs;
and the distribution unit is used for distributing the S1AP signaling message to the target virtual CPU.
The method and the device for processing the S1AP message acquire the eNB UE S1AP ID carried by the S1AP signaling message and determine the virtual CPU for processing the S1AP message according to the eNB UE S1AP ID. Therefore, the S1AP signaling message is uniformly distributed to each divided virtual CPU, and the utilization rate of the CPU is improved.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and together with the description, serve to explain the principles of the disclosure.
Fig. 1 is a schematic diagram of an LTE network structure provided in an embodiment of the present application;
fig. 2 is a flowchart of a message forwarding method provided in the present application;
FIG. 3 is a flowchart illustrating an implementation of step 202 provided by an embodiment of the present application;
fig. 4 is a flowchart of another message forwarding method provided in the present application;
fig. 5 is a structural diagram of a message forwarding apparatus provided in the embodiment of the present application;
FIG. 6 is a schematic structural diagram of another apparatus according to an embodiment of the present disclosure;
fig. 7 is a schematic structural diagram of an apparatus applied to a virtual CPU according to an embodiment of the present application;
fig. 8 is a schematic hardware structure diagram of an electronic device according to an embodiment of the present application.
Detailed Description
The terminology used in the description herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the description. As used in this specification and the appended claims, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the term "and/or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items.
It should be understood that although the terms first, second, third, etc. may be used herein to describe various information, these information should not be limited to these terms. These terms are only used to distinguish one type of information from another. For example, the first information may also be referred to as second information, and similarly, the second information may also be referred to as first information, without departing from the scope of the present specification. The word "if" as used herein may be interpreted as "at" ... "or" when ...or" in response to a determination ", depending on the context.
In order to make those skilled in the art better understand the technical solution in the embodiment of the present application, a Long Term Evolution (LTE) network structure used in the embodiment of the present application is first described below.
LTE is a mobile communication technology, and an LTE network structure is shown in fig. 1, where fig. 1 is a schematic diagram of an LTE network structure provided in an embodiment of the present application, and as shown in fig. 1, an LTE network mainly includes an Evolved Packet Core (EPC) and a radio access network. The radio access network may include at least one Evolved Node B (eNB) and a plurality of terminals connected thereto, and the EPC may be deployed with at least one Mobility Management Entity (MME) and at least one Serving Gateway (SGW). After the terminal accesses the eNB, the eNB communicates with the MME in the EPC to access the network. In practical applications, the eNB and the MME are usually in a many-to-many relationship, that is, one eNB may communicate with multiple MMEs, and one MME may also communicate with multiple enbs. In fact, other devices exist in the EPC, and are omitted here since the embodiments of the present application do not directly relate to them.
The terminal is a device used by a user, such as a mobile phone and other devices capable of accessing a network by using LTE, and the terminal can be connected to the eNB by wireless; the eNB is mainly responsible for managing the accessed terminals, such as radio bearer control, radio admission control, completing dynamic resource allocation to the terminals, etc., and one eNB usually accesses a large number of terminals; the MME is mainly used for controlling a terminal to access a network, storing terminal information and the like; the SGW is mainly used for forwarding data, selecting a route, calculating internet surfing cost and the like.
The radio access network and the EPC communicate with each other through an S1 interface. The S1 interface is divided into two types, one is an S1-MME interface which is used for connecting the eNB and the MME, and the main functions comprise session management information transmission, mobility management information transmission and the like; the other is an S1-U interface which is used for connecting the eNB and the SGW, and the main functions comprise transmitting user data messages and the like. The embodiment of the application mainly relates to an S1-MME interface, so the S1-MME interface is mainly introduced.
In the radio interface protocol architecture of LTE, the protocol stack is typically divided into a user plane and a control plane. Wherein the control plane is used for transmitting signaling information for establishing, maintaining or releasing a user's connection with the network. The S1-MME interface is applied to the control plane, and uses an S1 Application Protocol (S1 AP) Protocol, and a signaling message transmitted through the interface is referred to as an S1AP signaling message, where the S1AP signaling message usually includes information of a terminal connected to the eNB.
For a network device that divides a physical CPU into a plurality of virtual CPUs in order to improve the CPU utilization, after the network device receives a packet, it usually selects a virtual CPU for processing the packet from the divided virtual CPUs according to the IP address of the packet. The general method for selecting a virtual CPU is: and (3) carrying out hash on the source IP address and/or the destination IP address of the message, and determining the virtual CPU corresponding to the hash value as the virtual CPU for processing the message.
However, as can be seen from the above description of the LTE network, since the same eNB may be connected with a large number of terminals, referring to fig. 1, different S1AP signaling messages sent to the same MME may contain information of different terminals, but the source IP addresses of the messages are all IP addresses of the eNB, and the destination IP addresses are all IP addresses of the MME. Therefore, when a network device, such as the MME, that processes an S1AP signaling message allocates a message according to an IP address, a large number of received S1AP signaling messages containing different terminal information sent by the same eNB may be allocated to the same virtual CPU for processing, which results in uneven message allocation and a low CPU utilization rate.
Similarly, an S1AP signaling message sent by the same MME to the same eNB may also include information of different terminals connected to the eNB, where the source IP address of the message is the IP address of the MME, and the destination IP address of the message is the IP address of the eNB. When a network device, such as the eNB, that processes an S1AP signaling message allocates messages according to an IP address, the network device allocates the S1AP signaling messages sent by the same MME to the same virtual CPU for processing, which causes uneven distribution of the messages and a low CPU utilization rate.
In order to solve the above problem, the present application provides a message forwarding method, which determines a virtual CPU for processing an S1AP signaling message according to an eNB UE S1AP ID carried by the S1AP signaling message, and can uniformly distribute the received S1AP signaling message to each virtual CPU, thereby improving the CPU utilization.
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application is described in detail below with reference to the accompanying drawings and specific embodiments.
Referring to fig. 2, fig. 2 is a flowchart of a message forwarding method provided in the present application. As an embodiment, the flow may be applied to a network device, such as an eNB, an MME, or other network device capable of processing an S1AP signaling packet. As shown in fig. 2, the process includes:
step 201, when receiving an S1AP signaling message through a control surface interface S1-MME, acquiring a terminal identifier eNB UE S1AP ID carried by the S1AP signaling message; the eNB UE S1AP ID is used to indicate an identifier allocated to the terminal by the eNB.
Generally, when a terminal accesses an eNB, the eNB assigns a terminal identifier to the terminal, and the terminal identifier can distinguish the terminal from other terminals. In LTE networks, this terminal identity is commonly referred to as eNB UE S1AP ID.
The S1AP signaling message generally carries the eNB UE S1AP ID, so the carried eNB UE S1AP ID can be obtained from the received S1AP signaling message.
As an embodiment, when acquiring the terminal identifier eNB UE S1AP ID carried in the S1AP signaling message, the eNB UE S1AP ID cell carried in the S1AP signaling message may be acquired by analyzing the S1AP signaling message, and further, the eNB UE S1AP ID may be obtained by analyzing the acquired eNB UE S1AP ID cell.
Step 202, according to the above eNB UE S1AP ID, determining a target virtual CPU for processing the above S1AP signaling message from all the divided virtual CPUs.
For a network device that divides a physical CPU into multiple virtual CPUs, unlike the currently frequently used method of determining a virtual CPU for processing a packet according to an IP address of the packet, in this step 202, a virtual CPU for processing the packet is determined according to an eNB UE S1AP ID carried in an S1AP signaling packet.
For a network device using a multi-core CPU, as an embodiment, when determining a CPU core for processing an S1AP signaling message, a target CPU core for processing the S1AP signaling message may also be determined according to the eNB UE S1AP ID.
In a specific implementation, there are a plurality of implementation manners of this step 202, and one of them is illustrated in the following by referring to fig. 3, which is not described herein again.
Step 203, distributing the S1AP signaling message to the target virtual CPU.
And for the target virtual CPU determined in the step 202, allocating the S1AP signaling message to the target virtual CPU for processing.
As an embodiment, if the target virtual CPU corresponds to a CPU queue for storing messages to be processed, and the target virtual CPU sequentially processes the messages stored in the CPU queue, the S1AP signaling message is stored in the CPU queue.
How the virtual CPU processes the allocated S1AP signaling message after receiving it is described below with reference to fig. 4, which is not described herein again.
If the network device is a network device using a multi-core CPU, as an embodiment, after determining a target CPU core for processing the S1AP signaling packet according to the step 202, the packet may be allocated to the target CPU core. Further, if the target CPU core should have a CPU queue for storing messages allocated to the CPU process, the S1AP signaling message may be allocated to the CPU queue.
Thus, the flow shown in fig. 2 is completed.
In the flow shown in fig. 2, the virtual CPU for processing the S1AP packet is determined according to the S1AP ID of the eNB UE, and the S1AP packet is allocated to the virtual CPU, so that the S1AP signaling packet is uniformly allocated to each virtual CPU, and the CPU utilization rate is improved.
Generally, when an MME receives information of a certain terminal, the MME also allocates a terminal identifier to the terminal, where the terminal identifier is generally referred to as MME UE S1AP ID in the LTE network, and can also distinguish the terminal from other terminals. Therefore, as an embodiment, when the flow shown in fig. 2 is applied to an MME, the flow shown in fig. 2 may be completed by using an MME UE S1AP ID to replace an eNB UE S1AP ID, that is, for an S1AP signaling message, a virtual CPU for processing the S1AP signaling message is determined according to the MME UE S1AP ID carried by the S1AP signaling message, so that uniform distribution of the S1AP signaling message may also be achieved.
The method of replacing the eNB UE S1AP ID in the flow shown in fig. 2 with another terminal identifier that is similar to the eNB UE S1AP ID or the MME UE S1AP ID and can uniquely identify a terminal, carried in the S1AP signaling message, shall be regarded as the protection scope of the embodiment of the present application.
The following describes a specific implementation of step 202:
referring to fig. 3, fig. 3 is a flowchart illustrating an implementation of step 202 provided in an embodiment of the present application. As shown in fig. 3, the process includes:
step 301, using the eNB UE S1AP ID as a key to search a target corresponding relationship containing the key from the recorded eNB UE S1AP ID-virtual CPU corresponding relationship; if the search result is found, executing step 302; if not, go to step 303.
The eNB UE S1AP ID here is the eNB UE S1AP ID acquired in step 201.
Because the same terminal often has multiple information interactions with the network, and in the process of accessing the terminal to the network, the eNB also interacts the relevant information of the terminal with the MME multiple times, such as identity information of a user using the terminal, location information of the terminal, and the like. This means that the network device will receive S1AP signaling messages carrying the same eNB UE S1AP ID multiple times.
By searching whether the recorded eNB UE S1AP ID-virtual CPU corresponding relation exists in the eNB UE S1AP ID, whether the network equipment receives the S1AP signaling message carrying the eNB UE S1AP ID for the first time can be determined, and different steps are executed to process the S1AP signaling message according to the S1AP signaling message, so that the distribution efficiency of the S1AP signaling message can be improved.
As an embodiment, in order to facilitate the distinction between the virtual CPUs, the virtual CPUs that have been distinguished may be assigned with corresponding serial numbers in advance. For example, the numbers 1, 2, 3 ...and the serial numbers of the virtual CPUs can be simply used, and the divided virtual CPUs can be written as: CPU0, CPU1, CPU2 ..., and so on. The serial number of the CPU may also be identified in other manners, which is not specifically limited in the embodiment of the present application.
To facilitate the understanding of this step 301, a simple example is given below:
assume that the correspondence relationship between the eNB UE S1AP ID and the virtual CPU recorded in step 301 is shown in table 1:
Figure BDA0002333023770000071
Figure BDA0002333023770000081
TABLE 1
If the eNB UE S1AP ID acquired in step 201 is ID1, the eNB UE S1AP ID-virtual CPU correspondence shown in table 1 is searched for using ID1 as a key. Since ID1 is recorded in the eNB UE S1AP ID-virtual CPU correspondence shown in table 1, it can be determined that the correspondence including ID1 is found, and step 302 is executed accordingly.
If the eNB UE S1AP ID acquired in step 201 is ID50, the ID50 is used as a key to search for the eNB UE S1AP ID-virtual CPU correspondence shown in table 1. Since the eNB UE S1AP ID-virtual CPU correspondence shown in table 1 does not record the ID50, it may be determined that the correspondence including the ID1 is not found, and step 303 is performed accordingly.
Step 302, determining the virtual CPU in the target corresponding relationship as a target virtual CPU.
This step 302 is executed on the basis that the target correspondence including the eNB UE S1AP ID is found in the step 301. Finding the target corresponding relationship containing the eNB UE S1AP ID may indicate that the network device does not receive the S1AP signaling message carrying the eNB UE S1AP ID for the first time.
Through this step 302, for any eNB UE S1AP ID, if the network device does not receive the S1AP signaling message including the eNB UE S1AP ID for the first time, the virtual CPU for processing the S1AP signaling message can be quickly determined according to the recorded correspondence.
Continuing to use the eNB UE S1AP ID-virtual CPU correspondence shown in table 1 as an example, for the S1AP signaling message carrying the eNB UE S1AP ID of ID1, the step 301 may find that the target correspondence including ID1 is: the "ID1-CPU0", the virtual CPU in the target correspondence, that is, the CPU0, may be determined as the target virtual CPU for processing the S1AP signaling packet.
Step 303, performing a hash operation on the eNB UE S1AP ID to obtain a hash result, and determining a target virtual CPU for processing the S1AP signaling packet carrying the eNB UE S1AP ID from all the divided virtual CPUs according to the hash result.
This step 302 is executed on the basis that the target correspondence including the eNB UE S1AP ID is not found in the step 301. If the target corresponding relationship including the eNB UE S1AP ID is not found, it may be indicated that the network device does not receive the S1AP signaling packet carrying the eNB UE S1AP ID for the first time.
If the divided virtual CPUs have been assigned the corresponding serial numbers in advance, as an embodiment, in this step 303, the virtual CPU having the serial number corresponding to the hash result may be determined as the target virtual CPU.
As a simple example, still taking the eNB UE S1AP ID-virtual CPU correspondence shown in table 1 as an example, if the eNB UE S1AP ID is ID50 in step 301, and the correspondence including ID50 cannot be found in table 1, the ID50 is hashed to obtain a hash result. And if the obtained hash result is 2, determining the virtual CPU with the sequence number of 2 as the target virtual CPU.
As an embodiment, after the target CPU for processing the S1AP signaling message carrying the eNB UE S1AP ID is determined in step 303, the corresponding relationship between the eNB UE S1AP ID and the determined target virtual CPU may be recorded.
Still taking the ID50 as an example, after determining that the corresponding virtual CPU is CPU2, the following correspondence may be added to table 1:
ID50 CPU2
when performing the hash operation on the eNB UE S1AP ID, as an embodiment, the eNB UE S1AP ID and other information of the S1AP signaling packet carrying the eNB UE S1AP ID may also be subjected to the hash operation, and a virtual CPU for processing the S1AP signaling packet is determined from all virtual CPUs according to an obtained hash result. The other information may be various information such as a source IP address and a destination IP address of the S1AP signaling message.
The flow shown in fig. 3 is completed.
Through the process shown in fig. 3, it is realized that a target virtual CPU for processing the S1AP signaling message is determined from all divided virtual CPUs according to the S1AP ID of the eNB UE. It should be noted that the flow shown in fig. 3 is only an example for implementing the step 202, and is not limited.
The description above describes how the network device allocates the received S1AP signaling packet to each virtual CPU. After the virtual CPU receives the allocated S1AP signaling message, a series of processing needs to be performed on the S1AP signaling message, and for this reason, an embodiment of the present application further provides a message forwarding method, which is applied to a virtual CPU in a network device, and the virtual CPU executes the process shown in fig. 4 based on the S1AP signaling message received by the process shown in fig. 2.
Referring to fig. 4, fig. 4 is a flowchart of another message forwarding method provided in the present application. As shown in fig. 4, the process includes:
step 401, analyzing the S1AP signaling message according to a set analysis processing method.
For each virtual CPU of the network device, after receiving the S1AP signaling message, it needs to analyze and process the S1AP signaling message. For example, the context information of the terminal for maintaining the connection between the terminal and the network may be analyzed from the S1AP signaling message; for another example, the information sent by the terminal to the network may be analyzed from the S1AP signaling message.
As an embodiment, the analysis processing method in step 401 may refer to an existing analysis processing method, which is not described herein again.
Step 402, storing the analyzed context information of the terminal identified by the eNB UE S1AP ID in a table with the eNB UE S1AP ID as a key.
The virtual CPU generally records context information of the terminal obtained by analyzing the S1AP in order to provide an accurate service to the terminal and analyze information transmitted from the terminal. The context information here may include: network capability of the terminal, user information using the terminal, location information of the terminal, and the like.
As an embodiment, when storing the context information of the terminal identified by the eNB UE S1AP ID in the table, it may be checked whether or not there is a table with the eNB UE S1AP ID as a key.
If the table with the eNB UE S1AP ID as the key exists, the virtual CPU processes the S1AP signaling message carrying the eNB UE S1AP ID before the table, so that the context information of the terminal identified by the eNB UE S1AP ID can be directly stored in the table.
If the table with the eNB UE S1AP ID as the key does not exist, the virtual CPU does not process the S1AP signaling message carrying the eNB UE S1AP ID before the table. This makes it possible to create a table using the eNB UE S1AP ID as a key, and store the context information of the terminal identified by the eNB UE S1AP ID obtained by the analysis in the table.
As an embodiment, after determining that the terminal identified by the eNB UE S1AP ID has completed the release procedure in the S1-MME procedure, the table with the eNB UE S1AP ID as the key may be deleted.
As an embodiment, other information capable of uniquely identifying a terminal may also be used as a key to establish a table for storing the terminal context information in this step 402. For example, the MME may create a table for storing terminal context information using the MME UE S1AP ID as a key. For another example, the plurality of IDs may be combined as a key, and the application is not particularly limited thereto.
The flow shown in fig. 4 is completed.
Through the process shown in fig. 4, how the virtual CPU processes the S1AP signaling message after receiving the S1AP signaling message based on the process shown in fig. 2 is implemented.
The above describes the packet forwarding method provided by the present application, and the present application also provides a packet forwarding apparatus, which has a similar principle to the packet forwarding method provided by the present application, and the following describes the packet forwarding apparatus:
referring to fig. 5, fig. 5 is a structural diagram of a message forwarding apparatus according to an embodiment of the present application. As shown in fig. 5, the apparatus may include an acquisition unit 501, a determination unit 502, and an allocation unit 503.
In an example, the obtaining unit 501 is configured to obtain a terminal identifier eNB, UE S1AP ID, carried by an S1AP signaling message when the S1AP signaling message is received through a control plane interface S1-MME; the eNB UE S1AP ID is used for indicating an identifier distributed to a terminal by an evolved node B eNB;
a determining unit 502, configured to determine, according to the eNB UE S1AP ID, a target virtual CPU for processing the S1AP signaling packet from all divided virtual CPUs;
an allocating unit 503, configured to allocate the S1AP signaling packet to the target virtual CPU.
As an embodiment, the determining unit 502 is specifically configured to:
searching a target corresponding relation containing the key words in the recorded eNB UE S1AP ID-virtual CPU corresponding relation by taking the eNB UE S1AP ID as the key words;
if the virtual CPU is found, determining the virtual CPU in the target corresponding relation as a target virtual CPU;
if the eNB UE S1AP ID is not found, carrying out Hash operation on the eNB UE S1AP ID to obtain a Hash result;
and determining a target virtual CPU for processing the S1AP signaling message from all the divided virtual CPUs according to the hash result.
As an embodiment, as shown in fig. 6, fig. 6 is a schematic structural diagram of another apparatus provided in an embodiment of the present application, and as shown in fig. 6, on the basis of the apparatus shown in fig. 5, the apparatus further includes:
a sequence number allocation unit 504 for allocating a corresponding sequence number to the divided virtual CPU;
the determining unit determining a target virtual CPU for processing the S1AP signaling packet from all the divided virtual CPUs according to the hash result includes:
and determining the virtual CPU with the sequence number corresponding to the hash result as a target virtual CPU.
As an embodiment, the apparatus further comprises:
a recording unit 505, configured to record a corresponding relationship between the eNB UE S1AP ID and the determined target virtual CPU after the target corresponding relationship is not found.
It can be understood that the recording unit 505 and the serial number allocating unit 506 may be configured in the apparatus as shown in fig. 6 simultaneously or separately as two independent modules, and therefore the structure shown in fig. 6 should not be construed as limiting the embodiments of the present invention described above
The device is used for distributing the S1AP signaling message to a target virtual CPU according to the S1AP ID of the eNB UE carried by the S1AP signaling message after receiving the S1AP signaling message. The present application further provides a packet forwarding apparatus, which is applied to a virtual CPU in a network device, and referring to fig. 7, the apparatus may include the following units:
an analysis unit 701, configured to analyze the S1AP signaling message according to a set analysis processing method; the S1AP signaling message is the S1AP signaling message received by the virtual CPU based on the message forwarding method;
a storing unit 702 configured to store the analyzed context information of the terminal identified by the eNB UE S1AP ID in a table using the eNB UE S1AP ID as a key.
As an example, the storage unit 702 is specifically configured to:
checking whether a table using the eNB UE S1AP ID as a key exists;
if the terminal exists, storing the context information of the terminal identified by the eNB UE S1AP ID obtained by analysis into the table;
if not, a table is created with the eNB UE S1AP ID as a key, and the analyzed context information of the terminal identified by the eNB UE S1AP ID is stored in the table.
The implementation process of the functions and actions of the modules in the apparatus is detailed in the implementation process of the corresponding steps in the method, and is not described in detail herein.
For the device embodiments, since they substantially correspond to the method embodiments, reference may be made to the partial description of the method embodiments for relevant points. The above-described apparatus embodiments are merely illustrative, and the components shown as modules may or may not be physical modules, may be located in one place, or may be distributed over a plurality of network modules. The modules can be selected according to actual needs to achieve the purpose of the scheme in the specification. One of ordinary skill in the art can understand and implement without inventive effort.
The present application further provides an electronic device, refer to fig. 8, and fig. 8 is a schematic diagram of a hardware structure of the electronic device provided in the embodiment of the present application. The electronic device may include a processor 801, a memory 802, and a communication bus 803. The processor 801 and the memory 802 communicate with each other via a communication bus 803. Wherein, the memory 802 stores a computer program; the processor 801 may execute the message forwarding method described above by executing the program stored on the memory 802.
The memory 802 referred to herein may be any electronic, magnetic, optical, or other physical storage device that can contain or store information such as executable instructions, data, and the like. For example, the memory 802 may be: a RAM (random Access Memory), a volatile Memory, a non-volatile Memory, a flash Memory, a storage drive (e.g., a hard drive), a solid state drive, any type of storage disk (e.g., an optical disk, a dvd, etc.), or similar storage medium, or a combination thereof.
Embodiments of the present application further provide a machine-readable storage medium, such as the memory 802 in fig. 8, storing a computer program, which is executable by the processor 801 in the electronic device shown in fig. 8 to implement the message forwarding method described above.
For convenience of description, the above devices are described as being divided into various units by function, respectively. Of course, the functionality of the units may be implemented in one or more software and/or hardware when implementing the present application.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, embodiments of the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and so forth) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may 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 means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
Furthermore, these computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
The above description is only an example of the present application and is not intended to limit the present application. Various modifications and changes may occur to those skilled in the art to which the present application pertains. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.

Claims (10)

1. A message forwarding method is applied to a network device, and the method comprises the following steps:
when an S1AP signaling message is received through a control surface interface S1-MME, a terminal identification eNB UE S1AP ID carried by the S1AP signaling message is obtained; the eNB UE S1AP ID is used for indicating an identifier distributed to a terminal by an evolved node B eNB;
determining a target virtual CPU for processing the S1AP signaling message from all divided virtual CPUs according to the S1AP ID of the eNB UE;
and distributing the S1AP signaling message to the target virtual CPU.
2. The method of claim 1, wherein the determining a target virtual CPU for processing the S1AP signaling packet from all partitioned virtual CPUs according to the eNB UE S1AP ID comprises:
searching a target corresponding relation containing the key word in the recorded eNB UE S1AP ID-virtual CPU corresponding relation by taking the eNB UE S1AP ID as the key word;
if the virtual CPU is found, determining the virtual CPU in the target corresponding relation as a target virtual CPU;
if the eNB UE S1AP ID is not found, carrying out hash operation on the eNB UE S1AP ID to obtain a hash result;
and determining a target virtual CPU for processing the S1AP signaling message from all the divided virtual CPUs according to the hash result.
3. The method of claim 2, further comprising:
distributing corresponding serial numbers for the divided virtual CPUs;
the determining a target virtual CPU for processing the S1AP signaling packet from all the divided virtual CPUs according to the hash result includes:
and determining the virtual CPU with the sequence number corresponding to the hash result as a target virtual CPU.
4. The method as claimed in claim 2 or 3, wherein when the target corresponding relationship is not found, the method further comprises:
and recording the corresponding relation between the eNB UE S1AP ID and the determined target virtual CPU.
5. A message forwarding method, applied to a virtual CPU in a network device, wherein the virtual CPU executes the following steps when receiving an S1AP signaling message based on the method according to any one of claims 1 to 4:
and analyzing the S1AP signaling message according to a set analysis processing method, and storing the analyzed context information of the terminal identified by the eNB UE S1AP ID into a table taking the eNB UE S1AP ID as a keyword.
6. The method of claim 5, wherein storing the parsed context information of the terminal identified by the eNB UE S1AP ID in a table with the eNB UE S1AP ID as a key comprises:
checking whether a table with the eNB UE S1AP ID as a key exists;
if the terminal exists, storing the analyzed context information of the terminal identified by the eNB UE S1AP ID into the table;
and if the terminal context information does not exist, creating a table with the eNB UE S1AP ID as a key word, and storing the analyzed context information of the terminal identified by the eNB UE S1AP ID in the table.
7. A message forwarding apparatus, applied to a network device, the apparatus comprising:
an obtaining unit, configured to obtain a terminal identity eNB UE S1AP ID carried in an S1AP signaling message when receiving the S1AP signaling message through a control plane interface S1-MME; the eNB UE S1AP ID is used for indicating an identifier distributed to a terminal by an evolved node B eNB;
a determining unit, configured to determine, according to the eNB UE S1AP ID, a target virtual CPU for processing the S1AP signaling packet from all divided virtual CPUs;
and the distribution unit is used for distributing the S1AP signaling message to the target virtual CPU.
8. The apparatus according to claim 7, wherein the determining unit is specifically configured to:
searching a target corresponding relation containing the key word in the recorded eNB UE S1AP ID-virtual CPU corresponding relation by taking the eNB UE S1AP ID as the key word;
if the virtual CPU is found, determining the virtual CPU in the target corresponding relation as a target virtual CPU;
if the eNB UE S1AP ID is not found, carrying out Hash operation on the eNB UE S1AP ID to obtain a Hash result;
and determining a target virtual CPU for processing the S1AP signaling message from all the divided virtual CPUs according to the hash result.
9. The apparatus of claim 8, further comprising:
a serial number allocation unit for allocating corresponding serial numbers to the divided virtual CPUs;
the determining unit determining a target virtual CPU for processing the S1AP signaling packet from all the divided virtual CPUs according to the hash result includes:
and determining the virtual CPU with the sequence number corresponding to the hash result as a target virtual CPU.
10. A message forwarding apparatus, applied to a virtual CPU in a network device, according to claim 8 or 9, wherein the apparatus further comprises:
and the recording unit is used for recording the corresponding relation between the eNB UE S1AP ID and the determined target virtual CPU after the target corresponding relation is not found.
CN201911344732.1A 2019-12-24 2019-12-24 Message forwarding method and device Active CN111083795B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911344732.1A CN111083795B (en) 2019-12-24 2019-12-24 Message forwarding method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911344732.1A CN111083795B (en) 2019-12-24 2019-12-24 Message forwarding method and device

Publications (2)

Publication Number Publication Date
CN111083795A CN111083795A (en) 2020-04-28
CN111083795B true CN111083795B (en) 2023-04-18

Family

ID=70317073

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911344732.1A Active CN111083795B (en) 2019-12-24 2019-12-24 Message forwarding method and device

Country Status (1)

Country Link
CN (1) CN111083795B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104581652A (en) * 2013-10-15 2015-04-29 华为技术有限公司 Message processing method as well as method and device for selecting MME (mobility management entity)
CN104581990A (en) * 2013-10-23 2015-04-29 思科技术公司 Node selection in virtual evolved packet core
CN105052189A (en) * 2013-03-25 2015-11-11 华为技术有限公司 Minimized drive test processing method, network device, and communications system
CN108432286A (en) * 2016-01-15 2018-08-21 英特尔Ip公司 Network slice selection in network system
CN109691156A (en) * 2016-07-14 2019-04-26 瑞典爱立信有限公司 The enhanced gathering re-authentication of wireless device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9432867B2 (en) * 2013-09-17 2016-08-30 Cellos Software Ltd. Method and network monitoring probe for tracking identifiers corresponding to a user device in wireless communication network
JP6922925B2 (en) * 2016-10-31 2021-08-18 日本電気株式会社 Mobility management entities, network entities, and their methods

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105052189A (en) * 2013-03-25 2015-11-11 华为技术有限公司 Minimized drive test processing method, network device, and communications system
CN104581652A (en) * 2013-10-15 2015-04-29 华为技术有限公司 Message processing method as well as method and device for selecting MME (mobility management entity)
CN104581990A (en) * 2013-10-23 2015-04-29 思科技术公司 Node selection in virtual evolved packet core
CN108432286A (en) * 2016-01-15 2018-08-21 英特尔Ip公司 Network slice selection in network system
CN109691156A (en) * 2016-07-14 2019-04-26 瑞典爱立信有限公司 The enhanced gathering re-authentication of wireless device

Also Published As

Publication number Publication date
CN111083795A (en) 2020-04-28

Similar Documents

Publication Publication Date Title
US11057761B2 (en) Cloud SIM card management server, binding device, management method, binding method and system
US10320738B2 (en) Address allocation method, CGN device, and CGN dual-active system
CN110012437B (en) Method, device and system for sending multicast message
CN108924244B (en) Distributed system and flow distribution method and device for same
CN109155994B (en) User plane resource management method, user plane network element and control plane network element
CN108259218B (en) IP address allocation method and device
US10282120B2 (en) Method, apparatus and system for inserting disk
CN109462825B (en) Mobile phone number allocation method, equipment and computer readable storage medium
CN108810120B (en) Block chain node communication method and device and block chain node
CN107547675B (en) User equipment migration method and device
CN113835844A (en) Management method and device of container cluster and cloud computing platform
CN108363786A (en) Load method, apparatus, computer equipment and the storage medium of data
CN106878052B (en) User migration method and device
CN108616896B (en) Operator identification method and device and internet access system
CN114745358A (en) IP address management method, system and controller in load balancing service
US20160191368A1 (en) Information processing device, method, and medium
CN111083795B (en) Message forwarding method and device
CN112398968A (en) ID generation system and method, generation terminal, server terminal and storage medium
CN108965093B (en) VLAN (virtual local area network) distribution method and device
CN109039957B (en) Message forwarding method and device and CB equipment
US20180139685A1 (en) Ip address management method and apparatus, ip address anchor, and mobile node
CN112995349A (en) Address management method, server, and computer-readable storage medium
CN110581784A (en) node health check method, device and equipment
CN107493181B (en) Indication method and device of virtual expansion port
CN103442098A (en) Method, system and server for allocating virtual IP addresses

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant