Embodiments of the present application relate to the field of communications technologies, and in particular, to a data migration method and an apparatus.
In processes in which a terminal sends and receives Ethernet-type data using a mobile network such as 4th Generation (4G) or 5th Generation (5G), the data needs to be received and forwarded using a corresponding Ethernet switch. As shown in
When receiving an Ethernet frame that needs to be forwarded, the Ethernet switch searches a Media Access Control (MAC) address table based on a destination MAC address in a frame header of the Ethernet frame, to obtain a port that corresponds to the destination MAC address and that is on the Ethernet switch, and then forwards the Ethernet frame through the port, in order to implement data exchange. If the destination MAC address is not in the MAC address table, the Ethernet switch “floods” the Ethernet frame to all ports. When a port for communication between a receive end and the Ethernet switch changes, the Ethernet switch updates the MAC address list using an Address Resolution Protocol (ARP) Ethernet frame or a null data packet (NDP) Ethernet frame.
When the terminal and an evolved packet system (EPS) establish a session connection supporting an Ethernet-type packet data network (PDN), after the terminal is attached to the EPS, the terminal sends an Ethernet frame using a general packet radio service (GPRS) tunneling protocol (GTP) tunnel of the EPS, a user plane (UP) gateway (GW) sends the Ethernet frame to an SGi interface, and the Ethernet switch obtains the Ethernet frame from the SGi interface. However, when the terminal moves, the EPS possibly switches the user plane gateway performing a session with the terminal. In this case, because the address list of the Ethernet switch is not updated in a timely manner, the Ethernet switch still continues to forward, to a source UP GW in a short time, a downlink Ethernet frame to be sent to the terminal. Consequently, a target UP GW serving the terminal cannot obtain the downlink Ethernet frame to be sent to the terminal, resulting in a data loss.
The present application provides a data migration method and an apparatus, to overcome a data loss problem caused in a migration process of an Ethernet-type data connection in related approaches.
According to a first aspect, a data migration method is provided. When a control plane gateway switches a user plane gateway communicating with a terminal from a source user plane gateway to a target user plane gateway, the method includes: receiving, by the target user plane gateway, an address of the terminal that is sent by the control plane gateway; obtaining, by the target user plane gateway, an Ethernet data packet based on the address of the terminal, where the Ethernet data packet includes uplink data sent by the terminal or an ARP packet; and sending, by the target user plane gateway, the Ethernet data packet to an Ethernet interface, such that a switch obtains the Ethernet data packet through the Ethernet interface, and updates a MAC address table based on the Ethernet data packet.
In this way, the switch can obtain the ARP packet or the uplink data through the Ethernet interface, update the MAC address table based on the ARP packet or the uplink data, and change a port for sending data to the terminal, to avoid a loss of downlink data to be sent to the terminal.
In a possible design, the method further includes: obtaining, by the target user plane gateway using a unidirectional transmission channel, first downlink data sent by the source user plane gateway, where the unidirectional transmission channel is a unidirectional temporary transmission tunnel established between the source user plane gateway and the target user plane gateway; and sending, by the target user plane gateway, the first downlink data to the terminal based on the address of the terminal.
In this way, a problem can be avoided such as a loss or a sending latency of the downlink data to be sent to the terminal that is caused because the MAC address table in the switch fails to be updated in a timely manner.
In a possible design, the method further includes: obtaining, by the target user plane gateway through the Ethernet interface, second downlink data to be sent to the terminal, where the second downlink data carries an address of the terminal; and releasing, by the target user plane gateway, the unidirectional transmission channel if the address of the terminal that is carried in the second downlink data successfully matches the address of the terminal that is sent by the control plane gateway.
When the address of the terminal that is carried in the second downlink data matches the address of the terminal that is sent by the control plane gateway, it may be determined that the MAC address table in the switch has been updated. In this case, the target user plane gateway may release the transmission channel between the source user plane gateway and the target user plane gateway.
In a possible design, the address of the terminal includes at least one of an internet protocol (IP) address of the terminal or a MAC address of the terminal.
In a possible design, obtaining, by the target user plane gateway, an Ethernet data packet based on the address of the terminal includes: receiving, by the target user plane gateway, an ARP packet sent by the terminal that includes the address of the terminal; or generating, by the target user plane gateway, an ARP packet including the address of the terminal.
In a possible design, the address of the terminal is the IP address, and obtaining, by the target user plane gateway based on the address of the terminal, an ARP packet sent by the terminal includes: sending, by the target user plane gateway, an ARP request message to the terminal, where the ARP request message includes the IP address of the terminal and a source MAC address, and where the source MAC address is a broadcast MAC address; and receiving, by the target user plane gateway, the ARP packet sent by the terminal, where the ARP packet carries a destination MAC address of the terminal, and where the destination MAC address is the source MAC address included in the ARP request message.
In a possible design, obtaining, by the target user plane gateway based on the address of the terminal, an ARP packet sent by the terminal includes: receiving, by the target user plane gateway, a gratuitous ARP packet sent by the terminal, where if the gratuitous ARP packet carries the address of the terminal, the gratuitous APR packet is the ARP packet sent by the terminal.
In a possible design, the target user plane gateway is located in an evolved packet system (EPS), and the Ethernet interface is an SGi interface. Alternatively, the target user plane gateway is located in a next generation NexGen system, and the Ethernet interface is an NG6 interface.
According to a second aspect, a data migration method is further provided. The method includes: obtaining, by a control plane gateway, a MAC address of a terminal; and sending, by the control plane gateway, the MAC address of the terminal to the target user plane gateway.
According to a third aspect, a user plane gateway is provided, and is applied to a scenario in which a user plane gateway communicating with a terminal is changed from a source user plane gateway to the user plane gateway, and the user plane gateway includes: a receiving unit configured to receive an address of the terminal that is sent by a control plane gateway; a processing unit configured to obtain an Ethernet data packet based on the address of the terminal that is received by the receiving unit, where the Ethernet data packet includes uplink data sent by the terminal or an ARP packet; and a sending unit configured to send the Ethernet data packet obtained by the processing unit to an Ethernet interface, such that a switch obtains the Ethernet data packet through the Ethernet interface, and updates a MAC address table based on the Ethernet data packet.
In a possible design, the receiving unit is further configured to obtain, using a unidirectional transmission channel, first downlink data sent by the source user plane gateway, where the unidirectional transmission channel is a unidirectional temporary transmission tunnel established between the source user plane gateway and the user plane gateway. Additionally, the sending unit is further configured to send the first downlink data to the terminal based on the address of the terminal that is received by the receiving unit.
In a possible design, the receiving unit is further configured to obtain, through the Ethernet interface, second downlink data to be sent to the terminal, where the second downlink data carries an address of the terminal. Additionally, the processing unit is configured to release the unidirectional transmission channel if the address of the terminal that is carried in the second downlink data received by the receiving unit successfully matches the address of the terminal that is sent by the control plane gateway.
In a possible design, the address of the terminal includes at least one of an IP address of the terminal or a MAC address of the terminal.
In a possible design, the receiving unit is further configured to receive an ARP packet sent by the terminal that includes the address of the terminal. Alternatively, the processing unit is further configured to generate an ARP packet including the address of the terminal.
In a possible design, the address of the terminal is the IP address. The sending unit is further configured to send an ARP request message to the terminal, where the ARP request message includes the IP address of the terminal and a source MAC address, and where the source MAC address is a broadcast MAC address. The receiving unit is further configured to receive the ARP packet sent by the terminal, where the ARP packet carries a destination MAC address of the terminal, and where the destination MAC address is the source MAC address included in the ARP request message.
In a possible design, the receiving unit is further configured to receive a gratuitous ARP packet sent by the terminal, where if the gratuitous ARP packet carries the address of the terminal, the gratuitous APR packet is the ARP packet sent by the terminal.
In a possible design, the user plane gateway is located in an EPS, and the Ethernet interface is an SGi interface. Alternatively, the user plane gateway is located in a next generation NexGen system, and the Ethernet interface is an NG6 interface.
According to a fourth aspect, a control plane gateway is further provided. The control plane gateway includes: a processing unit configured to obtain a MAC address of a terminal; and a sending unit configured to send, to the target user plane gateway, the MAC address of the terminal that is obtained by the processing unit.
The accompanying drawings herein are incorporated in the specification, become a part of the specification, show embodiments that are in accordance with the present application, and are used with the specification to explain a principle of the present application.
The following describes the embodiments of the present application with reference to the accompanying drawings.
To enhance network flexibility and scalability, function items in an evolved packet core (EPC) network are usually divided into a control plane gateway and a user plane gateway. The user plane gateway is mainly used to process a data packet. The control plane gateway is mainly used to define a processing action performed by the user plane gateway on the data packet. The control plane gateway sends a processing rule of the data packet to the user plane gateway. When the data packet arrives at the user plane gateway, the user plane gateway performs corresponding processing on the data packet according to the processing rule delivered by the control plane gateway, in order to complete processing, sending, and the like for the data packet of a terminal.
When the terminal 300 moves from the location A in
To resolve the foregoing problem in other approaches, the present application provides a data migration method and an apparatus.
With reference to
The control plane gateway 400 sends the obtained address of the terminal 300 to the target user plane gateway 600. When the target user plane gateway 600 obtains the address of the terminal 300 that is sent by the control plane gateway 400, the target user plane gateway 600 obtains, based on the address of the terminal 300, uplink data sent by the terminal 300. The uplink data carries the MAC address of the terminal 300.
The target user plane gateway 600 sends, to an Ethernet interface communicating with the switch 700, the uplink data sent by the terminal 300, and the switch 700 obtains, from the Ethernet interface, the uplink data sent by the terminal 300. The switch 700 updates the MAC address table in the switch 700 by obtaining the MAC address of the terminal 300 in the uplink data and a port communicating with the target user plane gateway. In addition, the switch 700 may further determine, based on the MAC address of the terminal 300 that is carried in the uplink data and a port address corresponding to the switch 700, whether the MAC address table in the switch 700 is updated, and update the MAC address table if the MAC address table is not updated. In this way, in this embodiment of the present application, the MAC address table in the switch 700 is updated in a timely manner, and when the user plane gateway communicating with the terminal 300 changes, the switch 700 may switch, in a timely manner based on an updated MAC address table, a communications port for sending data to the terminal 300, in order to ensure that the downlink data to be sent to the terminal 300 is not lost.
In addition, the target user plane gateway 600 may further obtain an ARP packet, and the ARP packet carries the IP address and the MAC address of the terminal 300. The target user plane gateway 600 sends the ARP packet to the switch 700 through the Ethernet interface, and the switch 700 updates the address list based on the ARP packet and a corresponding communications port address.
A manner in which the target user plane gateway 600 obtains the ARP packet may include but is not limited to the following.
In a first manner, the control plane gateway 400 sends a MAC address update indication to the terminal 300, and the terminal 300 generates, based on the received MAC address update indication, an Address Resolution Protocol (ARP) packet including the MAC address of the terminal 300. The ARP packet may be a gratuitous ARP packet. The terminal 300 sends the ARP packet to the target user plane gateway 600, and the target user plane gateway 600 receives the ARP packet sent by the terminal 300. The target user plane gateway 600 parses a received ARP packet, and determines, as the ARP packet sent by the terminal 300, an ARP packet that matches the MAC address of the terminal 300 in received APR packets.
In a second manner, the target user plane gateway 600 sends an ARP request including the address of the terminal 300 to the terminal 300, and the ARP request is used to request to use a broadcast MAC address as a source MAC address of an ARP request. When the terminal 300 receives the ARP request sent by the target user plane gateway 600, the terminal 300 sends an ARP response packet to the target user plane gateway 600, and the target user plane gateway 600 receives the ARP response packet sent by the terminal 300. A destination MAC address of the terminal 300 that is carried in the ARP response packet is the source MAC address of the ARP request. The ARP response packet is the ARP packet sent by the terminal 300. The target user plane gateway 600 forwards the ARP packet to the switch 700, and the switch 700 updates the MAC address table based on the received ARP packet.
In a third manner, the target user plane gateway 600 generates an ARP packet carrying the address of the terminal 300, and forwards the ARP packet to the switch 700. The switch 700 updates the MAC address table based on the received ARP packet.
With reference to
It should be noted that the unidirectional temporary transmission tunnel is established when the MAC address table in the switch 700 is updated. When the control plane gateway 400 switches the user plane gateway communicating with the terminal 300 from the source user plane gateway 500 to the target user plane gateway 600, the unidirectional temporary transmission tunnel is used to temporarily transmit downlink data in the source user plane gateway 500 that needs to be sent to the terminal 300. In this case, the source user plane gateway 500 sends the downlink data to the target user plane gateway 600 through the established unidirectional temporary transmission tunnel. After the target user plane gateway 600 receives the downlink data, the target user plane gateway 600 sends the downlink data to the terminal 300, to avoid a loss of the downlink data that is caused because when the control plane gateway 400 switches the user plane gateway communicating with the terminal 300, the switch 700 fails to update the address table in a timely manner, and the switch still sends the downlink data to the source user plane gateway 500.
In another embodiment provided in the present application, a data migration method is further provided. The method is applied to a scenario in which a user plane gateway communicating with a terminal is changed from a source user plane gateway to a target user plane gateway. As shown in
In step S210, the target user plane gateway receives an address of the terminal that is sent by a control plane gateway.
The address of the terminal may be an IP address of the terminal, or a MAC address of the terminal, or an IP address and a MAC address of the terminal.
In step S220, the target user plane gateway obtains an Ethernet data packet based on the address of the terminal.
The Ethernet data packet includes uplink data sent by the terminal or an ARP packet. The APR packet may be an ARP packet sent by the terminal that is received by the target user plane gateway and that includes the address of the terminal, or an ARP packet that is generated by the target user plane gateway and that includes the address of the terminal. In addition, the target user plane gateway may alternatively receive uplink data sent by the terminal that includes the address of the terminal.
The target user plane gateway parses received uplink data, and determines, based on the uplink data sent by the terminal, uplink data including the address of the terminal. The target user plane gateway determines, based on the ARP packet sent by the terminal, an ARP packet that includes the address of the terminal in received ARP packets.
The target user plane gateway determines, based on the uplink data sent by the terminal, the uplink data including the address of the terminal. In addition, the target user plane gateway may obtain the APR packet in the foregoing three ARP packet obtaining manners, and details are not described herein. For details, refer to the foregoing embodiment.
It should be noted that the embodiments provided in the present application may be correlatively combined and mutually explained.
In step S230, the target user plane gateway sends the Ethernet data packet to an Ethernet interface.
The target user plane gateway obtains the Ethernet data packet based on the address of the terminal. In some embodiments, the target user plane gateway may receive the uplink data sent by the terminal that includes the address of the terminal, or receive the ARP packet sent by the terminal that includes the address of the terminal. In addition, the target user plane gateway may alternatively generate the ARP packet including the address of the terminal. In this way, when obtaining, through the Ethernet interface, the ARP packet that is sent by the target user plane gateway and that includes the address of the terminal, or the uplink data that is sent by the target user plane gateway and that includes the address of the terminal, an Ethernet switch can update a MAC address table in a timely manner, and forward downlink data for the terminal to the target user plane gateway based on an updated MAC address table, to avoid a data loss.
The target user plane gateway is located in an evolved packet system (EPS), and the Ethernet interface is an SGi interface; or the target user plane gateway is located in a NexGen system, and the Ethernet interface is an NG6 interface.
For details of the method in
In step S240, the target user plane gateway obtains, using a unidirectional transmission channel, first downlink data sent by the source user plane gateway.
The transmission channel is a unidirectional temporary transmission tunnel established between the source user plane gateway and the target user plane gateway.
In step S250, the target user plane gateway sends the first downlink data to the terminal based on the address of the terminal.
Referring to
For details of the method in
In step S260, the target user plane gateway obtains, through the Ethernet interface, second downlink data to be sent to the terminal.
The second downlink data carries an address of the terminal.
In step S270, the target user plane gateway matches an address of the terminal that is carried in the second downlink data against the address of the terminal that is sent by the control plane gateway.
In step S280, the target user plane gateway releases the unidirectional transmission channel if the address of the terminal that is carried in the second downlink data successfully matches the address of the terminal that is sent by the control plane gateway.
When the address of the terminal that is carried in the second downlink data matches the address of the terminal that is sent by the control plane gateway, it may be determined that the MAC address table in the switch has been updated. In this case, the target user plane gateway may release the transmission channel between the source user plane gateway and the target user plane gateway.
In this embodiment, the target user plane gateway mainly determines, by obtaining the second downlink data to be sent to the terminal, and matching the address of the terminal that is carried in the second downlink data against the address of the terminal that is obtained from the control plane gateway, whether the MAC address table in the switch is updated. If it is determined that the MAC address table in the switch is not updated, the switch still sends downlink data to the source user plane gateway based on an address in the MAC address table that is not updated. In this case, the source user plane gateway may send, to the target user plane gateway through the established unidirectional temporary transmission tunnel, the downlink data sent by the switch. After receiving the downlink data, the target user plane gateway sends the downlink data to the terminal, to avoid a data loss.
When the target user plane gateway determines, in the foregoing manner, that the MAC address table in the switch has been updated, it indicates that the switch can correctly send, to the target user plane gateway based on an updated MAC address table, downlink data to be sent to the terminal. In this case, the downlink data does not need to be transmitted through the established unidirectional temporary transmission tunnel, and then the target user plane gateway may release the unidirectional temporary transmission tunnel, or initiate an execution procedure of releasing the unidirectional temporary transmission tunnel.
For details of the method in
In step S221, the target user plane gateway obtains an ARP packet sent by the terminal that includes the address of the terminal.
The target user plane gateway parses a received ARP packet to obtain an address, and when the ARP packet includes the address of the terminal, determines the received packet as the ARP packet sent by the terminal.
Alternatively, in step S222, the target user plane gateway generates an ARP packet including the address of the terminal.
That the target user plane gateway obtains the ARP packet sent by the terminal or generates the ARP packet is described in detail in the foregoing embodiment, and details are not described herein again.
For details of the method in
In step S2211, the target user plane gateway sends an ARP request message to the terminal based on the IP address of the terminal.
A source MAC address of the ARP request message is a broadcast MAC address. The APR request carries the IP address of the terminal.
In step S2212, the target user plane gateway receives the ARP packet sent by the terminal.
The target user plane gateway receives an ARP response packet sent by the terminal, the ARP response packet includes the IP address of the terminal and the source MAC address, and the source MAC address is the broadcast MAC address. The target user plane gateway parses an ARP packet, and determines an APR packet including the address of the terminal as the ARP packet sent by the terminal.
For details, refer to a detailed description in the foregoing embodiment. Details are not described herein again.
In another embodiment provided in the present application, as shown in
In step S710, a control plane gateway obtains a MAC address of the terminal.
In step S720, the control plane gateway sends the MAC address of the terminal to the target user plane gateway.
A manner in which the control plane gateway obtains the address of the terminal may be that the control plane gateway obtains the address from a context of the terminal that is stored in the control plane gateway, or the target user plane gateway obtains the address from the source user plane gateway, or the target user plane gateway obtains the address from signaling used for communication with the terminal, or the like.
Based on the foregoing descriptions of the method embodiments, a person skilled in the art may clearly understand that the present application may be implemented by software in addition to a universal hardware platform or by hardware only. In most circumstances, the former is a better implementation. Based on such an understanding, the technical solutions of the present application essentially, or the part contributing to other approaches may be implemented in a form of a software product. The software product is stored in a storage medium, and includes several instructions for instructing a computer device (which may be a personal computer, a server, a network device, or the like) to perform all or some of the steps of the methods described in the embodiments of the present application. The foregoing storage medium includes any medium that can store program code, such as a read-only memory (ROM), a random-access memory (RAM), a magnetic disk, or an optical disc.
To describe implementation processes of the foregoing embodiments in detail, the following embodiments provided in the present application are respectively corresponding to the foregoing embodiments. It should be noted that the embodiments provided in the present application may be mutually explained, mutually supplemented, and mutually combined.
To describe in detail a process in which the target user plane gateway 600 sends, to the switch 700, uplink data sent by the terminal, such that the switch 700 can update a MAC address table in a timely manner based on the uplink data, in an embodiment provided in the present application, as shown in
In step 801, a terminal sends a Handover/Handoff (HO)/tracking area update (TAU) request to a control plane gateway.
In step 802, when receiving the HO/TAU request sent by the terminal, the control plane gateway sends a MAC address of the terminal to a target user plane gateway.
The control plane gateway sends the MAC address of the terminal to the target user plane gateway in a packet data network (PDN) session.
In step 803, the terminal sends, to the target user plane gateway, uplink data including an address of the terminal.
In step 804, the control plane gateway sends a HO/TAU response to the terminal.
In step 805, the target user plane gateway sends, to a switch, the received uplink data sent by the terminal.
In step 806, the switch updates a MAC address table based on the uplink data sent by the target user plane gateway, and changes a port for sending data to the terminal.
In step 807, the target user plane gateway receives downlink data for the terminal that is sent by the switch.
In step 808, the target user plane gateway sends the downlink data to the terminal, where the downlink data includes the address of the terminal.
In step 809, the target user plane gateway sends, to the control plane gateway, information indicating that the MAC address table in the switch is updated.
According to the data migration method provided in this embodiment of the present application, the target user plane gateway obtains, based on the address of the terminal, the uplink data sent by the terminal, where the uplink data includes the address of the terminal, and the target user plane gateway sends the uplink data to an Ethernet interface, such that the switch obtains the uplink data through the Ethernet interface, and updates the MAC address table based on the uplink data. In this way, the switch updates the MAC address table in a timely manner, and the switch can send, through a correct port based on an updated MAC address table, downlink data that needs to be sent to the terminal, to effectively prevent a loss of the downlink data to be sent to the terminal.
To describe in detail a process in which the target user plane gateway 600 sends an ARP packet request to the terminal 300, and the target user plane gateway 600 sends, to the switch 700, an ARP response packet received from the terminal 300, such that the switch 700 updates a MAC address table based on the ARP response packet, in an embodiment provided in the present application, as shown in
In step 901, a terminal sends a HO/TAU request to a control plane gateway.
In step 902, the control plane gateway sends an address of the terminal to a target user plane gateway in a PDN session.
In step 903, the control plane gateway sends a HO/TAU response to the terminal.
In step 904, the target user plane gateway sends an ARP request to the terminal, where the ARP request carries an IP address of the terminal.
In step 905, the terminal sends an ARP response to the target user plane gateway, where the ARP response includes the IP address and a MAC address of the terminal.
In step 906, the target user plane gateway sends the ARP response to a switch.
In step 907, the switch updates a MAC address table based on the ARP response, and changes a port for sending data to the terminal.
According to the data migration method provided in this embodiment of the present application, the target user plane gateway obtains, based on the address of the terminal, an ARP packet sent by the terminal, where the ARP packet includes the address of the terminal, and the target user plane gateway sends the ARP packet to an Ethernet interface, such that the switch obtains the ARP packet through the Ethernet interface, and updates the MAC address table based on the ARP packet. In this way, the switch updates the MAC address table in a timely manner, and the switch can send, through a correct port based on an updated MAC address table, downlink data that needs to be sent to the terminal, to effectively prevent a loss of the downlink data to be sent to the terminal.
To describe in detail a process in which the target user plane gateway 600 sends a gratuitous ARP packet generated by the terminal 300 to the switch 700, such that the switch 700 updates a MAC address table based on the gratuitous ARP packet, in an embodiment provided in the present application, as shown in
In step 1001, a terminal sends a HO/TAU request to a control plane gateway.
In step 1002, the control plane gateway sends a HO/TAU response to the terminal.
In step 1003, the control plane gateway sends an address of the terminal to a target user plane gateway in a PDN session.
The address of the terminal includes an IP address and a MAC address of the terminal.
In step 1004, the terminal sends an ARP packet to the target user plane gateway.
The ARP packet carries the address of the terminal, and the ARP packet is a gratuitous ARP packet.
In step 1005, the target user plane gateway sends, to a switch, the ARP packet sent by the terminal.
In step 1006, the switch updates a MAC address table based on the ARP packet, and changes a port for sending data to the terminal.
According to the data migration method provided in this embodiment of the present application, the target user plane gateway obtains, based on the address of the terminal, the ARP packet sent by the terminal, where the ARP packet includes the address of the terminal, and the target user plane gateway sends the ARP packet to an Ethernet interface, such that the switch obtains the ARP packet through the Ethernet interface, and updates the MAC address table based on the ARP packet. In this way, the switch updates the MAC address table in a timely manner, and the switch can send, through a correct port based on an updated MAC address table, downlink data that needs to be sent to the terminal, to effectively prevent a loss of the downlink data to be sent to the terminal.
To describe in detail a process in which the target user plane gateway 600 generates an ARP packet, and sends the ARP packet to the switch 700, such that the switch 700 updates a MAC address table based on the ARP packet, in an embodiment provided in the present application, as shown in
In step 1101, a terminal sends a HO/TAU request to a control plane gateway.
In step 1102, the control plane gateway sends a HO/TAU response to the terminal.
In step 1103, the control plane gateway sends an IP address and a MAC address of the terminal to the target user plane gateway in a PDN session.
In step 1104, the target user plane gateway generates an ARP packet including the MAC address of the terminal.
In step 1105, the target user plane gateway sends the ARP packet to a switch.
In step 1106, the switch updates a MAC address table based on the ARP packet, and changes a port for sending data to the terminal.
According to the data migration method provided in this embodiment of the present application, the target user plane gateway generates, based on the address of the terminal, the ARP packet including the address of the terminal, and the target user plane gateway sends the ARP packet to an Ethernet interface, such that the switch obtains the ARP packet through the Ethernet interface, and updates the MAC address table based on the ARP packet. In this way, the switch updates the MAC address table in a timely manner, and the switch can send, through a correct port based on an updated MAC address table, downlink data that needs to be sent to the terminal, to effectively prevent a loss of the downlink data to be sent to the terminal.
In addition, in an implementation of the foregoing embodiments, an embodiment of the present application further provides a user plane gateway, applied to a scenario in which a user plane gateway communicating with a terminal is changed from a source user plane gateway to the user plane gateway. The user plane gateway may be configured to perform an action performed by the target user plane gateway in the embodiment shown in any one of
In this way, the switch can obtain the ARP packet or the uplink data through the Ethernet interface, update the MAC address table based on the ARP packet or the uplink data, and change a port for sending data to the terminal, to avoid a loss of downlink data to be sent to the terminal.
In another embodiment provided in the present application, the receiving unit 11 is further configured to obtain, using a unidirectional transmission channel, first downlink data sent by the source user plane gateway, where the unidirectional transmission channel is a unidirectional temporary transmission tunnel established between the source user plane gateway and the target user plane gateway. Additionally, the sending unit 13 is further configured to send the first downlink data to the terminal based on the address of the terminal that is received by the receiving unit 11.
In this way, a problem—such as a loss or a sending latency of the downlink data to be sent to the terminal that is caused because the MAC address table in the switch fails to be updated in a timely manner—can be avoided.
In another embodiment provided in the present application, the receiving unit 11 is further configured to obtain, through the Ethernet interface, second downlink data to be sent to the terminal, where the second downlink data carries an address of the terminal. Additionally, the processing unit 12 is further configured to release, by the target user plane gateway, the unidirectional transmission channel if the address of the terminal that is carried in the second downlink data received by the receiving unit 11 successfully matches the address of the terminal that is sent by the control plane gateway.
When the address of the terminal that is carried in the second downlink data matches the address of the terminal that is sent by the control plane gateway, it may be determined that the MAC address table in the switch has been updated. In this case, the target user plane gateway may release the transmission channel between the source user plane gateway and the target user plane gateway.
In another embodiment provided in the present application, the address of the terminal includes at least one of an IP address of the terminal or a MAC address of the terminal.
In another embodiment provided in the present application, the receiving unit 11 is further configured to obtain, based on the address of the terminal, an ARP packet sent by the terminal; or the processing unit 12 is further configured to generate an ARP packet including the address of the terminal.
In another embodiment provided in the present application, the address of the terminal is the IP address.
The sending unit 13 is further configured to send an ARP request message to the terminal, where the ARP request message includes the IP address of the terminal and a source MAC address, and the source MAC address is a broadcast MAC address.
The receiving unit 11 is further configured to receive the ARP packet sent by the terminal, where the ARP packet carries a destination MAC address of the terminal, and the destination MAC address is the source MAC address included in the ARP request message.
In another embodiment provided in the present application, the receiving unit 11 is further configured to receive a gratuitous ARP packet sent by the terminal. If the gratuitous ARP packet carries the address of the terminal, the gratuitous APR packet is the ARP packet sent by the terminal.
In another embodiment provided in the present application, the target user plane gateway is located in an EPS, and the Ethernet interface is an SGi interface; or the target user plane gateway is located in a NexGen system, and the Ethernet interface is an NG6 interface.
In an optional embodiment, the processing unit 12 may be a processor 510, and the receiving unit 11 and the sending unit 13 may be a communications interface 520. In addition, the user plane gateway may further include a memory 530. The memory 530 is configured to store program code and data of the user plane gateway. In some embodiments, as shown in
In an implementation of the foregoing embodiments, an embodiment of the present application further provides a control plane gateway. When the control plane gateway switches a user plane gateway communicating with a terminal from a source user plane gateway to a target user plane gateway, the control plane gateway may be configured to perform an action performed by the control plane gateway in the foregoing method embodiments. As shown in
In an optional embodiment, the sending unit 22 may be a communications interface 520. In addition, the control plane gateway may further include a memory 530. The memory 530 is configured to store program code and data of the control plane gateway. As shown in
It may be understood that the present application may be applied to environments or configurations of a plurality of universal or dedicated computing systems, for example, a personal computer, a server computer, a handheld device or a portable device, a flat panel device, a multi-processor system, a microprocessor-based system, a set-top box, a programmable consuming electronic device, a network personal computer (PC), a minicomputer, a mainframe computer, and a distributed computing environment including any one of the foregoing systems or devices.
The present application can be described in the general context of computer-executable instructions executed by a computer, for example, a program module. Generally, the program module includes a routine, a program, an object, a component, a data structure, and the like for executing a particular task or implementing a particular data type. The present application may also be practiced in distributed computing environments in which tasks are performed by remote processing devices that are connected through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including storage devices.
It should be noted that in this specification, relational terms such as “first” and “second” are only used to distinguish one entity or operation from another, and do not necessarily require or imply that any actual relationship or sequence exists between these entities or operations. Moreover, the term “include”, “comprise”, or their any other variant is intended to cover a non-exclusive inclusion, such that a process, a method, an article, or a device that includes a list of elements not only includes those elements but also includes other elements that are not expressly listed, or further includes elements inherent to such a process, a method, an article, or a device. An element preceded by “includes a . . . ” does not, without more constraints, preclude the presence of additional identical elements in the process, method, article, or device that includes the element.
A person skilled in the art can figure out another implementation solution according to the present application after considering the specification and practicing the present application disclosed herein. This application is intended to cover any variations, functions, or adaptive changes of the present application. These variations, functions, or adaptive changes comply with general principles of the present application, and include common knowledge or a commonly used technical means in the technical field that is not disclosed in the present application. The specification and the embodiments are merely considered as examples, and the scope and the spirit of the present application are pointed out by the following claims. It should be understood that the present application is not limited to the accurate structures that are described in the foregoing and that are shown in the accompanying drawings, and modifications and changes may be made without departing from the scope of the present application. The scope of the present application is limited only by the appended claims.
This application is a continuation of U.S. patent application Ser. No. 16/414,413, filed on May 16, 2019, now U.S. Pat. No. 11,283,730, which is a continuation of International Patent Application No. PCT/CN2016/106060 filed on Nov. 16, 2016. All of the aforementioned patent applications are hereby incorporated by reference in their entireties.
Number | Name | Date | Kind |
---|---|---|---|
8873510 | Yuan | Oct 2014 | B2 |
8948032 | Sampath | Feb 2015 | B1 |
9019973 | Shukla | Apr 2015 | B1 |
9072009 | Wurtenberger | Jun 2015 | B1 |
9467938 | Srinivas | Oct 2016 | B1 |
9575918 | Evans | Feb 2017 | B2 |
9608715 | Fang | Mar 2017 | B1 |
9667485 | Murphy | May 2017 | B2 |
9813939 | Marupaduga | Nov 2017 | B1 |
10681619 | Zhou | Jun 2020 | B2 |
11159579 | Pentakota | Oct 2021 | B2 |
11895197 | Zhu | Feb 2024 | B2 |
20020136226 | Christoffel et al. | Sep 2002 | A1 |
20030133422 | Bims | Jul 2003 | A1 |
20030227893 | Bajic | Dec 2003 | A1 |
20040064581 | Shitama | Apr 2004 | A1 |
20040097232 | Haverinen | May 2004 | A1 |
20050041587 | Lee | Feb 2005 | A1 |
20050250499 | Lee et al. | Nov 2005 | A1 |
20050255847 | Han et al. | Nov 2005 | A1 |
20050265329 | Havala | Dec 2005 | A1 |
20060159049 | Chung | Jul 2006 | A1 |
20060227746 | Kim | Oct 2006 | A1 |
20060256749 | Rexhepi | Nov 2006 | A1 |
20060268765 | Bajic et al. | Nov 2006 | A1 |
20070097919 | Tsubota | May 2007 | A1 |
20070165648 | Joo | Jul 2007 | A1 |
20070192506 | Gupta | Aug 2007 | A1 |
20070248049 | Fajardo | Oct 2007 | A1 |
20070249347 | Saifullah et al. | Oct 2007 | A1 |
20070255834 | Abhishek et al. | Nov 2007 | A1 |
20070275726 | Lee et al. | Nov 2007 | A1 |
20070297362 | Kimura et al. | Dec 2007 | A1 |
20080002625 | Cho et al. | Jan 2008 | A1 |
20080031185 | Bims | Feb 2008 | A1 |
20080108326 | Park et al. | May 2008 | A1 |
20080123604 | Shimizu | May 2008 | A1 |
20080130572 | Zhang | Jun 2008 | A1 |
20080146230 | Pandian et al. | Jun 2008 | A1 |
20080159230 | Cho et al. | Jul 2008 | A1 |
20080170546 | Kitamura | Jul 2008 | A1 |
20080192696 | Sachs | Aug 2008 | A1 |
20080205345 | Sachs et al. | Aug 2008 | A1 |
20080311911 | Koodi et al. | Dec 2008 | A1 |
20090023453 | Hu | Jan 2009 | A1 |
20090059876 | Kim | Mar 2009 | A1 |
20090061876 | Ho et al. | Mar 2009 | A1 |
20090116454 | Kanazawa | May 2009 | A1 |
20090129287 | Liang et al. | May 2009 | A1 |
20090131053 | Sachs | May 2009 | A1 |
20090170557 | Chauhan | Jul 2009 | A1 |
20090180478 | Yu | Jul 2009 | A1 |
20090219900 | Kokkinen | Sep 2009 | A1 |
20090316650 | Um | Dec 2009 | A1 |
20100118830 | Stephenson et al. | May 2010 | A1 |
20100144353 | Chong et al. | Jun 2010 | A1 |
20100157963 | Choi et al. | Jun 2010 | A1 |
20110004913 | Nagarajan | Jan 2011 | A1 |
20110281581 | Brandt et al. | Nov 2011 | A1 |
20110299538 | Maruta | Dec 2011 | A1 |
20110317664 | Schlenk | Dec 2011 | A1 |
20120039323 | Hirano | Feb 2012 | A1 |
20120106514 | Zheng et al. | May 2012 | A1 |
20120225655 | Son et al. | Sep 2012 | A1 |
20120314689 | Wang | Dec 2012 | A1 |
20130034057 | Aramoto | Feb 2013 | A1 |
20130039658 | Abbas | Feb 2013 | A1 |
20130054761 | Kempf et al. | Feb 2013 | A1 |
20130155846 | Ramachandran | Jun 2013 | A1 |
20130170435 | Dinan | Jul 2013 | A1 |
20130205043 | Lu et al. | Aug 2013 | A1 |
20130279507 | Miyabe | Oct 2013 | A1 |
20130305332 | Narasimhan | Nov 2013 | A1 |
20140059192 | Miklos | Feb 2014 | A1 |
20140071925 | Liu | Mar 2014 | A1 |
20140086211 | Liu | Mar 2014 | A1 |
20140086226 | Zhao et al. | Mar 2014 | A1 |
20140112338 | Huang | Apr 2014 | A1 |
20140112349 | Moreno | Apr 2014 | A1 |
20140169377 | Shuai | Jun 2014 | A1 |
20140178073 | Katagiri | Jun 2014 | A1 |
20140211714 | Li et al. | Jul 2014 | A1 |
20140226665 | Ido | Aug 2014 | A1 |
20140269535 | Pazhyannur et al. | Sep 2014 | A1 |
20140328254 | Lim | Nov 2014 | A1 |
20140376511 | Kalapatapu et al. | Dec 2014 | A1 |
20150016340 | Itoh et al. | Jan 2015 | A1 |
20150029862 | Olenz | Jan 2015 | A1 |
20150085845 | Wang | Mar 2015 | A1 |
20150103665 | Kaippallimalil et al. | Apr 2015 | A1 |
20150124812 | Agarwal | May 2015 | A1 |
20150141015 | Zhang et al. | May 2015 | A1 |
20150207872 | Stiemerling | Jul 2015 | A1 |
20150208321 | Sane | Jul 2015 | A1 |
20150215918 | Wu | Jul 2015 | A1 |
20150282026 | Gupta | Oct 2015 | A1 |
20150372929 | Rochwerger | Dec 2015 | A1 |
20160014127 | Mohebbi | Jan 2016 | A1 |
20160065298 | Nakagawa | Mar 2016 | A1 |
20160192266 | Dai et al. | Jun 2016 | A1 |
20160212666 | Zalzalah et al. | Jul 2016 | A1 |
20160219479 | Wei | Jul 2016 | A1 |
20160261490 | Evans | Sep 2016 | A1 |
20160262066 | Ozturk et al. | Sep 2016 | A1 |
20160277976 | Takahashi et al. | Sep 2016 | A1 |
20160286443 | Tian | Sep 2016 | A1 |
20160309397 | Zhou | Oct 2016 | A1 |
20160330077 | Jin et al. | Nov 2016 | A1 |
20160338128 | De Silva et al. | Nov 2016 | A1 |
20170013512 | Bi et al. | Jan 2017 | A1 |
20170041227 | Zhou | Feb 2017 | A1 |
20170055313 | Sharma et al. | Feb 2017 | A1 |
20170064585 | Kim et al. | Mar 2017 | A1 |
20170127330 | Payyappilly et al. | May 2017 | A1 |
20170230891 | Fang | Aug 2017 | A1 |
20170237783 | Yang et al. | Aug 2017 | A1 |
20170238362 | Karandikar | Aug 2017 | A1 |
20170245310 | Chandramouli | Aug 2017 | A1 |
20170251405 | Stojanovski | Aug 2017 | A1 |
20170257906 | Gupta et al. | Sep 2017 | A1 |
20170231020 | Tomici et al. | Oct 2017 | A1 |
20170288948 | Singh | Oct 2017 | A1 |
20170289019 | Faccin et al. | Oct 2017 | A1 |
20170290082 | Salkintzis | Oct 2017 | A1 |
20180013788 | Vissamsetty et al. | Jan 2018 | A1 |
20180035339 | Mitsui et al. | Feb 2018 | A1 |
20180041930 | Hampel et al. | Feb 2018 | A1 |
20180097657 | Dao et al. | Apr 2018 | A1 |
20180145982 | Wang | May 2018 | A1 |
20180192331 | Masini et al. | Jul 2018 | A1 |
20180242205 | Mildh et al. | Aug 2018 | A1 |
20180254919 | Van De Velde et al. | Sep 2018 | A1 |
20180288670 | Li et al. | Oct 2018 | A1 |
20180324138 | Das | Nov 2018 | A1 |
20190014550 | Rommer | Jan 2019 | A1 |
20190045402 | Nagasaka et al. | Feb 2019 | A1 |
20190116483 | Ryu | Apr 2019 | A1 |
20190215691 | Salkintzis | Jul 2019 | A1 |
20190273697 | Shi et al. | Sep 2019 | A1 |
20190274076 | Kim | Sep 2019 | A1 |
20200221360 | Vikberg | Jul 2020 | A1 |
20200267753 | Adjakple et al. | Aug 2020 | A1 |
20200374689 | Shi | Nov 2020 | A1 |
20210019276 | Meiri | Jan 2021 | A1 |
20210203762 | Liu | Jul 2021 | A1 |
20210219110 | Kousaridas | Jul 2021 | A1 |
20210306887 | Kim et al. | Sep 2021 | A1 |
20210336811 | Mishra | Oct 2021 | A1 |
20220078631 | Salahuddeen | Mar 2022 | A1 |
20220182337 | Shi | Jun 2022 | A1 |
20220210647 | Centonza | Jun 2022 | A1 |
20220256510 | Goldhamer | Aug 2022 | A1 |
20220345881 | Tan | Oct 2022 | A1 |
20220400424 | Ghadge | Dec 2022 | A1 |
20220417855 | Shukla | Dec 2022 | A1 |
20230033048 | Joshi | Feb 2023 | A1 |
20230074963 | Saye | Mar 2023 | A1 |
20230155762 | Zhang | May 2023 | A1 |
20230336467 | Padebettu | Oct 2023 | A1 |
Number | Date | Country |
---|---|---|
101072425 | Nov 2007 | CN |
101754305 | Jun 2010 | CN |
103141133 | Jun 2013 | CN |
103686888 | Mar 2014 | CN |
103931149 | Jul 2014 | CN |
105282803 | Jan 2016 | CN |
109417741 | Jan 2021 | CN |
2166735 | Mar 2010 | EP |
2010063175 | Jun 2010 | WO |
2015120685 | Aug 2015 | WO |
Entry |
---|
U.S. Appl. No. 62/412,802 (Year: 2019). |
LG Electronics, Solution update of UP protocol model—Per Node-level Tunnel. SA WG2 Meeting #117, Oct. 17-21, 2016, Kaohsiung, Taiwan, S2-165751, 4 pages. |
“3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; Study on Architecture for Next Generation System (Release 14),” 3GPP TR 23.799, V1.1.0, Part 1, Oct. 2016, 167 pages. |
“3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; Study on Architecture for Next Generation System (Release 14),” 3GPP TR 23.799, V1.1.0, Part 2, Oct. 2016, 167 pages. |
“3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; Study on Architecture for Next Generation System (Release 14),” 3GPP TR 23.799, V1.1.0, Part 3, Oct. 2016, 169 pages. |
3GPP TS 23.401 V14.1.0, “3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; General Packet Radio Service (GPRS) enhancements for Evolved Universal Terrestrial Radio Access Network (E-UTRAN) access,” Sep. 2016, 378 pages. |
Number | Date | Country | |
---|---|---|---|
20220182337 A1 | Jun 2022 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16414413 | May 2019 | US |
Child | 17677190 | US | |
Parent | PCT/CN2016/106060 | Nov 2016 | WO |
Child | 16414413 | US |