Data forwarding method and device, communication equipment and storage medium

By receiving user data packets on the PPPoE server and encapsulating them, and sending data packets to the target PPPoE client through the Internet protocol tunnel, the network resource consumption problem caused by the need to establish an additional control surface between the PPPoE client and the server side is solved, and efficient data interaction and communication quality improvement is achieved.

CN119728515AActive Publication Date: 2025-03-28CHINA TELECOM CORP LTD TECHNOLOGY INNOVATION CENTER +1
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202311285409.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-09-28
Publication Date
2025-03-28
Estimated Expiration
2043-09-28

AI Technical Summary

Technical Problem

In the scenario of establishing a VPN through PPPoE dial-up, the PPPoE client and the PPPoE server need to establish an additional control surface, resulting in the control surface signaling interaction consumes more network resources.

Method used

After receiving the user data packet on the PPPoE server, the address of the target PPPoE client corresponding to the destination address of the user data packet is determined based on the correspondence between the preset destination address and the client's address, and the user data packet is encapsulated based on the PPPoE header and the Internet protocol tunnel header, and the encapsulated data packet is sent to the target PPPoE client through the Internet protocol tunnel, thereby realizing traffic-based data interaction and reducing network resource consumption of control plane signaling interaction.

Benefits of technology

The tunnel establishment between the PPPoE server and the client is realized, saving network resources consumed by the control plane signaling interaction, and improving communication quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119728515A_ABST
    Figure CN119728515A_ABST
Patent Text Reader

Abstract

The invention relates to a data forwarding method and device, communication equipment, a storage medium and a computer program product. The method comprises the following steps: receiving a user data message, and determining an address of a target PPPoE client corresponding to a destination address of the user data message based on a preset corresponding relationship between the destination address and the address of the client; based on the PPPoE header and the Internet protocol tunnel header, packaging the user data message to obtain a packaged data message; and based on the address of the target PPPoE client, sending the encapsulated data message to the target PPPoE client through the Internet protocol tunnel, so that the target PPPoE client carries out processing based on the encapsulated data message. Through adoption of the method, the tunnel establishment between the PPPoE server and the client can be realized, network resources consumed by control plane signaling interaction are saved, and the communication quality is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communications, and in particular to a data forwarding method, apparatus, communication equipment, storage medium and computer program product. Background Art

[0002] With the development of communication technology, in the scenarios of establishing a VPN (Virtual Private Network) through PPPoE (Point-to-Point Protocol over Ethernet) dial-up and accessing a VPN, a PPPoE client and a PPPoE server are required to form a Layer 2 network.

[0003] In the related art, an additional control plane needs to be established between the PPPoE client and the PPPoE server to achieve interaction between the two parties, which causes the control plane signaling interaction to consume more network resources. Summary of the invention

[0004] The embodiments of the present application provide a data forwarding method, apparatus, communication equipment, storage medium and computer program product, which can realize flow-based data interaction and save network resources consumed extra by the control plane.

[0005] In a first aspect, the present application provides a data forwarding method, which is applied to a PPPoE server, and the method comprises:

[0006] Receive a user data message, and determine the address of a target PPPoE client corresponding to the destination address of the user data message based on a correspondence between a preset destination address and an address of the client;

[0007] Encapsulating the user data message based on the PPPoE header and the Internet Protocol tunnel header to obtain an encapsulated data message;

[0008] Based on the address of the target PPPoE client, the encapsulated data message is sent to the target PPPoE client through an Internet Protocol tunnel, so that the target PPPoE client performs processing based on the encapsulated data message.

[0009] In one embodiment, receiving the user data message includes:

[0010] Receive user data packets through the VPN channel.

[0011] In one embodiment, encapsulating the user data message based on the PPPoE header and the Internet Protocol tunnel header to obtain the encapsulated data message includes:

[0012] Encapsulating the user data message based on the PPPoE header to obtain a first data message;

[0013] The first data message is encapsulated through an Internet Protocol tunnel header to obtain an encapsulated data message.

[0014] In one embodiment, sending the encapsulated data message to the target PPPoE client through an Internet Protocol tunnel based on the address of the target PPPoE client includes:

[0015] Determining a source address of an Internet Protocol tunnel based on the local address, and determining a destination address of the Internet Protocol tunnel based on an address of a target PPPoE client;

[0016] The encapsulated data message is sent to the target PPPoE client through an Internet Protocol tunnel, the address of the target PPPoE client includes a segment identification operation code, and the segment identification operation code is used to instruct the target PPPoE client to perform message processing.

[0017] In one of the embodiments, the segment identification operation code is End.DX3PPPoE.

[0018] In a second aspect, the present application provides a data forwarding method, applied to a PPPoE client, the method comprising:

[0019] Receive the encapsulated data message sent by the PPPoE server;

[0020] If it is determined that the destination address of the Internet Protocol tunnel corresponding to the encapsulated data message is a local address, decapsulating the encapsulated data message based on the segment identification operation code in the destination address to obtain a user data message;

[0021] The user data message is forwarded to a device connected to the PPPoE client.

[0022] In one embodiment, the decapsulating the encapsulated data message based on the segment identification operation code in the destination address to obtain the user data message includes:

[0023] The Internet Protocol tunnel header and the PPPoE header contained in the encapsulated data message are removed to obtain a user data message.

[0024] In one of the embodiments, the segment identification operation code is End.DX3PPPoE.

[0025] In a third aspect, the present application further provides a data forwarding device, applied to a PPPoE server, the device comprising:

[0026] A first receiving module, used for receiving a user data message, and determining an address of a target PPPoE client corresponding to the destination address of the user data message based on a correspondence between a preset destination address and an address of a client;

[0027] An encapsulation module, used for encapsulating the user data message based on a PPPoE header and an Internet Protocol tunnel header to obtain an encapsulated data message;

[0028] The first sending module is used to send the encapsulated data message to the target PPPoE client through the Internet Protocol tunnel based on the address of the target PPPoE client, so that the target PPPoE client performs processing based on the encapsulated data message.

[0029] In one embodiment, the first receiving module is specifically used to:

[0030] Receive user data packets through the VPN channel.

[0031] In one embodiment, the encapsulation module is specifically used for:

[0032] Encapsulating the user data message based on the PPPoE header to obtain a first data message;

[0033] The first data message is encapsulated through an Internet Protocol tunnel header to obtain an encapsulated data message.

[0034] In one embodiment, the first sending module is specifically used to:

[0035] Determining a source address of an Internet Protocol tunnel based on the local address, and determining a destination address of the Internet Protocol tunnel based on an address of a target PPPoE client;

[0036] The encapsulated data message is sent to the target PPPoE client through an Internet Protocol tunnel, the address of the target PPPoE client includes a segment identification operation code, and the segment identification operation code is used to instruct the target PPPoE client to perform message processing.

[0037] In a fourth aspect, the present application further provides a data forwarding device, applied to a PPPoE client, the device comprising:

[0038] The second receiving module is used to receive the encapsulated data message sent by the PPPoE server;

[0039] a decapsulation module, configured to, if it is determined that the destination address of the Internet Protocol tunnel corresponding to the encapsulated data message is a local address, decapsulate the encapsulated data message based on the segment identification operation code in the destination address to obtain a user data message;

[0040] The second sending module is used to forward the user data message to the device connected to the PPPoE client.

[0041] In one embodiment, the decapsulation module is specifically used to:

[0042] The Internet Protocol tunnel header and the PPPoE header contained in the encapsulated data message are removed to obtain a user data message.

[0043] In a fifth aspect, the present application further provides a communication device, including: a transmitter, a processor, and a receiver;

[0044] The receiver is used to receive a user data message, and determine the address of a target PPPoE client corresponding to the destination address of the user data message based on a correspondence between a preset destination address and an address of the client;

[0045] The processor is used to encapsulate the user data message based on the PPPoE header and the Internet Protocol tunnel header to obtain an encapsulated data message;

[0046] The processor is further configured to send the encapsulated data message to the target PPPoE client through the Internet Protocol tunnel and the transmitter based on the address of the target PPPoE client, so that the target PPPoE client performs processing based on the encapsulated data message.

[0047] In a sixth aspect, the present application further provides a computer-readable storage medium. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the following steps are implemented:

[0048] Receive a user data message, and determine the address of a target PPPoE client corresponding to the destination address of the user data message based on a correspondence between a preset destination address and an address of the client;

[0049] Encapsulating the user data message based on the PPPoE header and the Internet Protocol tunnel header to obtain an encapsulated data message;

[0050] Based on the address of the target PPPoE client, the encapsulated data message is sent to the target PPPoE client through an Internet Protocol tunnel, so that the target PPPoE client performs processing based on the encapsulated data message.

[0051] In a seventh aspect, the present application further provides a computer program product. The computer program product includes a computer program, and when the computer program is executed by a processor, the following steps are implemented:

[0052] Receive a user data message, and determine the address of a target PPPoE client corresponding to the destination address of the user data message based on a correspondence between a preset destination address and an address of the client;

[0053] Encapsulating the user data message based on the PPPoE header and the Internet Protocol tunnel header to obtain an encapsulated data message;

[0054] Based on the address of the target PPPoE client, the encapsulated data message is sent to the target PPPoE client through an Internet Protocol tunnel, so that the target PPPoE client performs processing based on the encapsulated data message.

[0055] The above-mentioned data forwarding method, device, communication equipment and storage medium include: receiving a user data message, determining the address of the target PPPoE client corresponding to the destination address of the user data message based on the correspondence between the preset destination address and the address of the client; encapsulating the user data message based on the PPPoE header and the Internet Protocol tunnel header to obtain an encapsulated data message; based on the address of the target PPPoE client, sending the encapsulated data message to the target PPPoE client through the Internet Protocol tunnel, so that the target PPPoE client processes based on the encapsulated data message. By adopting this method, the tunnel establishment between the PPPoE server and the client can be realized, saving the network resources consumed by the control plane signaling interaction and improving the communication quality. BRIEF DESCRIPTION OF THE DRAWINGS

[0056] Figure 1 An application environment diagram of a data forwarding method in an embodiment;

[0057] Figure 2 A schematic diagram of a flow chart of a data forwarding method in an embodiment;

[0058] Figure 3 A schematic diagram of a packaging process in an embodiment;

[0059] Figure 4 A schematic diagram of a flow chart of a message sending step in an embodiment;

[0060] Figure 5 is a flow chart of a data forwarding method in another embodiment;

[0061] Figure 6A schematic diagram of a flow chart of a data forwarding method in an embodiment;

[0062] Figure 7 is a signaling diagram of a data forwarding method in an embodiment;

[0063] Figure 8 is a structural block diagram of a data forwarding device in an embodiment;

[0064] Fig. 9 is a structural block diagram of a data forwarding device in an embodiment;

[0065] Fig.10 FIG. 4 is a diagram showing the internal structure of a communication device in one embodiment. DETAILED DESCRIPTION

[0066] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0067] Figure 1 A schematic diagram of an application scenario of a data forwarding method provided in an embodiment of the present application. Figure 1 As shown, in this scenario, there are a PPPoE client 100 and a PPPoE server 200. The PPPoE client 100 and the PPPoE server 200 perform data transmission via a network.

[0068] Among them, the PPPoE client 100 can be a wireless terminal, and the wireless terminal can be a device that provides voice and / or other business data connectivity to users, or a handheld device with wireless connection function, or other processing devices connected to a wireless modem. The wireless terminal can communicate with one or more core networks via a radio access network (Radio Access Network, referred to as RAN). The wireless terminal can be a mobile terminal, such as a mobile phone (or "cellular" phone) and a computer with a mobile terminal. For example, it can be a portable, pocket-sized, handheld, computer-built-in or vehicle-mounted mobile device, which exchanges language and / or data with the radio access network. The wireless terminal can also be called a system, a subscriber unit (Subscriber Unit), a subscriber station (Subscriber Station), a mobile station (Mobile Station), a mobile station (Mobile), a remote station (Remote Station), a remote terminal (Remote Terminal), an access terminal (Access Terminal), a user terminal (User Terminal), a user agent (User Agent), a user device (User Device or User Equipment), which is not limited here.

[0069] In traditional technology, in the scenario of establishing VPN through PPPoE dial-up, the PPPoE client and the PPPoE server are required to form a large layer 2 network. Based on this, the process of network access through PPPoE in related technologies will have many problems such as complex configuration, difficult cutover, hidden dangers of layer 2 broadcast storms, etc. In addition, the network in traditional technology needs to be pre-deployed and configured on the enterprise side before VPN can be opened, which has a complex implementation process, high cost, low opening efficiency, and low communication efficiency.

[0070] The data forwarding method provided in this embodiment can drive the establishment of an SRV6 tunnel based on traffic, and through PPPoE over SRV6, a three-layer VPN can be established, and an outer SRV6 tunnel can be established based on traffic drive. After the PPPoE server receives the uplink traffic from the PPPoE client, a binding relationship between the source SID and the destination SID is established internally, and the return traffic is forwarded according to the binding relationship, so that the tunnel can be established between the PPPoE server and the PPPoE client without additional control plane interaction, simplifying the PPPoE client capabilities and saving network resources consumed by control plane signaling interaction.

[0071] It should be noted that the beneficial effects brought about by the embodiments of the present application or the technical problems solved are not limited to this one, but may also include other implicit or related problems. For details, please refer to the description of the following embodiments.

[0072] The technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems are described in detail below with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.

[0073] In one embodiment, Figure 2 As shown, a data forwarding method is provided, which is applied to Figure 1 The PPPoE server 200 in FIG. 1 is used as an example to illustrate the method, which includes the following steps:

[0074] Step 202: receiving a user data message, and determining the address of a target PPPoE client corresponding to the destination address of the user data message based on a preset correspondence between the destination address and the address of the client.

[0075] Among them, the user data message can be a data message of a virtual private network; the target address can be the destination address of the user data message, that is, the destination address carried by the user data message; the client address can be the address of the remote SID, the remote end corresponding to the PPPoE server can be the PPPoE client, and the client address can be the addresses of multiple PPPoE clients; the client address can be the MAC address of the PPPoE client, or the IP address of the PPPoE client, or the IP address and port number of the PPPoE client; the IP address can be an IPV4 address, or an IPV6 address, etc.

[0076] Specifically, the PPPoE server can receive user data packets, and after receiving the user data packets, can parse the user data packets to determine the destination address of the user data packets; the PPPoE server can pre-store a mapping relationship table between the destination address and the client's address, based on which the PPPoE server can query in the mapping relationship table between the destination address and the client's address to determine the address of the target PPPoE client corresponding to the destination address.

[0077] In an example, the address of the target PPPoE client may be a MAC address, an IP address, etc. The IP address may be an IPV4 address, an IPV6 address, etc.

[0078] Step 204: encapsulate the user data message based on the PPPoE header and the Internet Protocol tunnel header to obtain an encapsulated data message.

[0079] Among them, the PPPoE header can be a header field that represents data transmission through the PPPoE protocol, which can be added to the header position of the data message. The Internet Protocol tunnel header can be a field of the IPv6 header, or it can also be a field of the IPv4 header, which is used to represent the transmission of messages through the Internet Protocol tunnel. The Internet Protocol tunnel can be a communication tunnel based on the Internet Protocol, for example, it can be an IPV4 tunnel, or it can be an IPV6 tunnel, etc.

[0080] Specifically, after determining the address of the target PPPoE client corresponding to the destination address of the user data message, the PPPoE server can encapsulate the user data message to be transmitted based on the PPPoE header and the Internet Protocol tunnel header, and determine the user data message encapsulated with the PPPoE header and the Internet Protocol tunnel header as the encapsulated data message.

[0081] Step 206: Based on the address of the target PPPoE client, the encapsulated data message is sent to the target PPPoE client through the Internet Protocol tunnel, so that the target PPPoE client performs processing based on the encapsulated data message.

[0082] Specifically, after obtaining the encapsulated data message, the PPPoE server can transmit the encapsulated data message after encapsulation through the Internet Protocol tunnel. That is to say, the PPPoE server can transmit the encapsulated data message to the target PPPoE client via the Internet Protocol tunnel corresponding to the ipv4 network; the PPPoE server can also transmit the encapsulated data message to the target PPPoE client via the Internet Protocol tunnel corresponding to the ipv6 network. After receiving the encapsulated data message, the target PPPoE client can process the encapsulated data message.

[0083] The above data forwarding method receives a user data message, determines the address of the target PPPoE client corresponding to the destination address of the user data message based on the correspondence between the preset destination address and the address of the client; encapsulates the user data message based on the PPPoE header and the Internet Protocol tunnel header to obtain an encapsulated data message; based on the address of the target PPPoE client, sends the encapsulated data message to the target PPPoE client through the Internet Protocol tunnel, so that the target PPPoE client processes based on the encapsulated data message. By adopting this method, the tunnel establishment between the PPPoE server and the client can be realized, the network resources consumed by the control plane signaling interaction can be saved, and the communication quality can be improved.

[0084] In one embodiment, the specific processing process of step 202 "receiving user data message" includes:

[0085] Receive user data packets through the VPN channel.

[0086] The user data message may be a data packet transmitted in a downlink direction, and the downlink direction may be a direction in which data is transmitted from a PPPoE server to a PPPoE client.

[0087] Specifically, the PPPoE server can receive user data messages through a VPN channel corresponding to the virtual private network.

[0088] In this embodiment, the efficiency of establishing a network and the reliability of data transmission in the network can be improved.

[0089] In one embodiment, if Figure 3 As shown, the specific processing process of step 204 "encapsulating the user data message based on the PPPoE header and the Internet Protocol tunnel header to obtain the encapsulated data message" includes:

[0090] Step 302: encapsulate the user data message based on the PPPoE header to obtain a first data message.

[0091] Specifically, after receiving the user data message, the PPPoE server obtains the PPPoE header, and encapsulates the user data message through the PPPoE header to obtain the first data message. The specific encapsulation process may be that the PPPoE server may add the field of the PPPoE header to the header position of the user data message, or may add multiple bytes to the header position of the user data message, and write the data corresponding to the PPPoE header into the multiple bytes added to the user data message to obtain the first data message.

[0092] Step 304: encapsulate the first data message through an Internet Protocol tunnel header to obtain an encapsulated data message.

[0093] Specifically, the PPPoE server can add the fields of the Internet Protocol tunnel header to the header position of the first data message, or it can add multiple bytes to the header position of the first data message, and write the data corresponding to the Internet Protocol tunnel header into the multiple bytes added to the first data message to obtain an encapsulated data message.

[0094] In one example, the process of encapsulating the received user data message by the PPPoE server based on the PPPoE header and the Internet Protocol Tunnel header may be: after receiving the user data message, the PPPoE server obtains the Internet Protocol Tunnel header, and encapsulates the user data message through the Internet Protocol Tunnel header to obtain the first data message. The specific encapsulation process may be that the PPPoE server may add the field of the Internet Protocol Tunnel header to the header position of the user data message, or may add multiple bytes to the header position of the user data message, and write the data corresponding to the Internet Protocol Tunnel header into the multiple bytes added to the user data message, to obtain the first data message. The PPPoE server may encapsulate the first data message based on the PPPoE header, and the specific encapsulation process may be that the PPPoE server may add the field of the PPPoE header to the header position of the first data message, or may add multiple bytes to the header position of the first data message, and write the data corresponding to the PPPoE header into the multiple bytes added to the first data message, to obtain the encapsulated data message.

[0095] In this embodiment, the user data message is encapsulated and processed through the PPPoE header and the Internet Protocol tunnel header, so that PPPoE over SRv6 communication can be achieved, and the efficiency of network establishment and the reliability of network transmission data can be improved.

[0096] In one embodiment, if Figure 4 As shown, the specific processing process of step 206 "sending the encapsulated data message to the target PPPoE client through the Internet Protocol tunnel based on the address of the target PPPoE client" includes:

[0097] Step 402, determining a source address of the Internet Protocol tunnel based on the local address, and determining a destination address of the Internet Protocol tunnel based on the address of the target PPPoE client.

[0098] Among them, the local address can be the communication address of the PPPoE server, which can be the MAC address of the PPPoE server, the IP address of the PPPoE server, or the IP address and port number of the PPPoE server; the IP address can be an IPV4 address, an IPV6 address, etc.; the source address of the Internet Protocol tunnel can be the address of a communication device that sends data packets to other devices through the Internet tunnel.

[0099] Specifically, the PPPoE server can obtain the local address of the PPPoE server, determine the obtained local address as the source address of the Internet Protocol tunnel, and determine the address of the target PPPoE client corresponding to the destination address of the user data message based on the correspondence between the preset destination address and the client's address, and determine the destination address of the Internet Protocol tunnel with the determined target PPPoE client address.

[0100] Step 404: Send the encapsulated data message to the target PPPoE client through the Internet Protocol tunnel.

[0101] The address of the target PPPoE client includes a segment identification operation code, and the segment identification operation code is used to instruct the target PPPoE client to perform message processing.

[0102] Specifically, the PPPoE server can transmit the encapsulated data message to the PPPoE client via the Internet Protocol tunnel corresponding to the ipv4 network when the source address of the Internet Protocol tunnel and the destination address of the Internet Protocol tunnel have been determined; or the PPPoE server can also transmit the encapsulated data message to the PPPoE client via the Internet Protocol tunnel corresponding to the ipv6 network. In this way, after receiving the encapsulated data message, the PPPoE client can decapsulate the encapsulated data message when it is determined that the destination address of the encapsulated data message contains the segment identification operation code, obtain the user data message, and forward the obtained user data message to the communication device connected to the PPPoE client, thereby realizing the data transmission between the PPPoE client and the PPPoE server based on the flow.

[0103] In this embodiment, the encapsulated data message is sent to the PPPoE server through the Internet Protocol tunnel, so that the PPPoE server processes based on the encapsulated data message, which simplifies the configuration process of the data transmission tunnel, realizes PPPoEover SRv6 communication, and improves communication efficiency.

[0104] In one embodiment, the segment identification opcode is End.DX3PPPoE.

[0105] Specifically, a specific embodiment of the segment identification operation code carried in the destination address of the user data message may be End.DX3PPPoE (Decapsulation and PPPoE L3VPN table lookup, supporting decapsulation messages). The segment identification operation code may be split into END+D+X3PPPOE, where D indicates support for decapsulation processing and X3PPPOE indicates cross-connection.

[0106] In this embodiment, by carrying the segment identification operation code in the destination address of the message, the PPPoE client that receives the message can decapsulate the received message based on the instruction of the segment identification operation code, thereby realizing PPPoEover SRv6 communication, improving the efficiency of network establishment and the reliability of network transmission data.

[0107] In one embodiment, Figure 5 As shown, a data forwarding method is provided. This embodiment applies the method to a PPPoE client. The data forwarding method includes:

[0108] Step 502: Receive the encapsulated data message sent by the PPPoE server.

[0109] Specifically, the PPPoE server can send encapsulated data packets to the PPPoE client through the Internet Protocol tunnel, and the PPPoE client can receive the encapsulated data packets sent by the PPPoE server through the Internet Protocol tunnel.

[0110] Step 504: If it is determined that the destination address of the Internet Protocol tunnel corresponding to the encapsulated data message is a local address, the encapsulated data message is decapsulated based on the segment identification operation code in the destination address to obtain a user data message.

[0111] Among them, the segment identification operation code is used to instruct the PPPoE client to perform message processing, that is, the segment identification operation code is used to instruct the PPPoE client to decapsulate the encapsulated data message to obtain user data plane information, and forward the obtained user data message based on the user data plane information.

[0112] Specifically, when the PPPoE client determines that the destination address of the Internet Protocol tunnel corresponding to the encapsulated data message is a local address, that is, when the PPPoE client determines that the destination address corresponding to the encapsulated data message is consistent with the local address of the PPPoE client, and when the PPPoE client determines that the destination address contains a segment identification operation code, it decapsulates the received encapsulated data message, removes the Internet Protocol tunnel header and the PPPoE header contained in the encapsulated data message, and obtains the user data message and the user data plane information. Based on this, the PPPoE client can perform message processing on the user data message based on the user data plane information.

[0113] Step 506: forward the user data message to the device connected to the PPPoE client.

[0114] Specifically, after obtaining the user data message, the PPPoE client can determine the communication device connected to the PPPoE client, and forward the user data message to multiple communication devices connected to the PPPoE client, thereby realizing data transmission between the PPPoE client and the PPPoE server.

[0115] In this embodiment, by carrying the segment identification operation code in the destination address, the PPPoE client receiving the message can decapsulate the received message based on the instruction of the segment identification operation code, realize the communication of PPPoE over SRv6, and improve the efficiency of network establishment and the reliability of network transmission data. In other words, the establishment of the data transmission tunnel can be realized without additional control plane interaction between the PPPoE server and the PPPoE client, which greatly simplifies the PPPoE client capabilities and saves the network resources consumed by the control plane signaling interaction.

[0116] In one embodiment, the specific processing of step 504 of "decapsulating the encapsulated data message based on the segment identification operation code in the destination address to obtain the user data message" includes:

[0117] The Internet Protocol tunnel header and the PPPoE header contained in the encapsulated data message are removed to obtain a user data message.

[0118] Among them, the PPPoE header can be a header field that represents data transmission through the PPPoE protocol, which can be added to the header position of the data message. The Internet Protocol tunnel header can be a field of the IPv6 header, or it can also be a field of the IPV4 header, which is used to represent the transmission of the message through the Internet Protocol tunnel.

[0119] Specifically, the process of the PPPoE client decapsulating the encapsulated data message may be that the PPPoE client removes the Internet Protocol tunnel header contained in the encapsulated data message and removes the PPPoE header contained in the user data message to obtain the user data message and the user data plane information.

[0120] In this embodiment, the encapsulated data message can be decapsulated through the indication of the segment identification operation code, so as to realize the communication of PPPoE over SRv6 and improve the communication quality and the efficiency of network establishment.

[0121] In one embodiment, the segment identification opcode is End.DX3PPPoE.

[0122] Specifically, a specific embodiment of the segment identification operation code carried in the destination address of the user data message may be End.DX3PPPoE (Decapsulation and PPPoE L3VPN table lookup, supporting decapsulation messages). The segment identification operation code may be split into END+D+X3PPPOE, where D indicates support for decapsulation processing and X3PPPOE indicates cross-connection.

[0123] In this embodiment, by carrying the segment identification operation code in the destination address of the user data message, the PPPoE client that receives the message can decapsulate the received message based on the instruction of the segment identification operation code, thereby realizing PPPoE over SRv6 communication, improving the efficiency of network establishment and the reliability of network transmission data.

[0124] In one embodiment, Figure 6 As shown, it can be a data processing process in the downlink direction, for example, it can be a process of transmitting a data packet from a PPPoE server to a PPPoE client: the user data message can be transmitted to the PPPoE server (PPPoE server) through the network, and the PPPoE server can transmit the data packet containing the user data message to multiple different PPPoE clients through the network. Among them, multiple different PPPoE clients can be connected to the management platform + AAA respectively.

[0125] Specifically, the PPPoE server communicates with the PPPoE client via PPPoE over IPV6; the PPPoE server can encapsulate the user data message payload in the form of ipv4 / ipv6 with the PPPoE header and the Internet Protocol tunnel header (IPv6 header) to obtain an encapsulated data message, wherein the destination address DA = PPPoE server END.PPPoE.X SID; the source address SA = PPPoE client IPv6.

[0126] The PPPoE server can receive user data packets based on the VPN channel of the virtual private network, and process the user data packets to obtain encapsulated data packets, and send the encapsulated data packets to the PPPoE client through the network. The PPPoE client decapsulates the encapsulated data packets to obtain the user data packet payload in the form of ipv4 / ipv6, and sends the user data packets to other communication devices connected to the PPPoE client.

[0127] In one embodiment, Figure 7 Provide an interactive flow chart of a data forwarding method. Figure 7As shown, including a PPPoE client, a management platform + AAA, a network and a PPPoE server, the method includes the following steps:

[0128] Step 1: After the PPPoE client passes the operator network authentication, it obtains the local SID and the SID of the PPPoE server. Specifically, the operator network authentication can be realized by data interaction between the PPPoE client and the management platform + AAA.

[0129] Step 2: The PPPoE client encapsulates the message in an IPv6 tunnel message, initiates PPPoE authentication, establishes a PPPoE session, and obtains a service address.

[0130] Step 3: The PPPoE client initiates VPN traffic and encapsulates the message in an IPv6 tunnel message.

[0131] Step 4: The PPPoE server records locally the binding relationships such as the remote SID (or IPv6 address), the inner IP address, and the PPPoE session.

[0132] Step 5: When the PPPoE server finds that the destination SID is itself, it strips the IPv6 header and the PPPoE header based on the opcode carried in the target SID and forwards it to the corresponding VPN channel.

[0133] Step 6: The return traffic reaches the PPPoE server, that is, other communication devices send the return traffic to the PPPoE server through the network.

[0134] Step 7: The PPPoE server encapsulates the remote SID and sends it to the PPPoE client.

[0135] Step 8: The PPPoE client removes the IPv6 tunnel header and the PPPoE header and sends the data packet to the intranet terminal.

[0136] The data forwarding method provided in this embodiment can expand the original UP pool / MSE large layer 2 VPN establishment method to support layer 3 VPN, and realize the establishment of the outer layer SRV6 tunnel in a traffic-driven manner. After receiving the uplink traffic of the PPPoE client, the PPPoE server can internally establish a binding relationship between the remote SID (that is, the SID of the PPPoE client) and the PPPoE session, IP address, etc., so that the PPPoE server and the client can establish a tunnel without additional control plane interaction, which greatly simplifies the PPPoE client capabilities and saves network resources consumed by control plane signaling interaction.

[0137] It should be understood that although Figure 1-7The steps in the flowchart are shown in sequence as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. Moreover, Figure 1-7 At least part of the steps may include multiple steps or multiple stages. These steps or stages are not necessarily performed at the same time, but can be performed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed in turn or alternately with other steps or at least part of the steps or stages in other steps.

[0138] In one embodiment, Figure 8 As shown, a data forwarding device 800 is provided, which is applied to a PPPoE server, and includes: a first receiving module 802, an encapsulation module 804 and a first sending module 806, wherein:

[0139] The first receiving module 802 is used to receive a user data message, and determine the address of a target PPPoE client corresponding to the destination address of the user data message based on a correspondence between a preset destination address and an address of the client;

[0140] The encapsulation module 804 is used to encapsulate the user data message based on the PPPoE header and the Internet Protocol tunnel header to obtain an encapsulated data message;

[0141] The first sending module 806 is used to send the encapsulated data message to the target PPPoE client through the Internet Protocol tunnel based on the address of the target PPPoE client, so that the target PPPoE client performs processing based on the encapsulated data message.

[0142] In one embodiment, the first receiving module is specifically configured to:

[0143] Receive user data packets through the VPN channel.

[0144] In one embodiment, the encapsulation module is specifically used for:

[0145] Encapsulating the user data message based on the PPPoE header to obtain a first data message;

[0146] The first data message is encapsulated through an Internet Protocol tunnel header to obtain an encapsulated data message.

[0147] In one embodiment, the first sending module is specifically used to:

[0148] Determining a source address of an Internet Protocol tunnel based on the local address, and determining a destination address of the Internet Protocol tunnel based on an address of a target PPPoE client;

[0149] The encapsulated data message is sent to the target PPPoE client through an Internet Protocol tunnel, the address of the target PPPoE client includes a segment identification operation code, and the segment identification operation code is used to instruct the target PPPoE client to perform message processing.

[0150] In one embodiment, Fig. 9 As shown, a data forwarding device 900 is provided, which is applied to a PPPoE client, including: a second receiving module 902, a decapsulation module 904 and a second sending module 906, wherein:

[0151] The second receiving module 902 is used to receive the encapsulated data message sent by the PPPoE server;

[0152] The decapsulation module 904 is configured to, if it is determined that the destination address of the Internet Protocol tunnel corresponding to the encapsulated data message is a local address, decapsulate the encapsulated data message based on the segment identification operation code in the destination address to obtain a user data message;

[0153] The second sending module 906 is used to forward the user data message to the device connected to the PPPoE client.

[0154] In one embodiment, the decapsulation module is specifically used to:

[0155] The Internet Protocol tunnel header and the PPPoE header contained in the encapsulated data message are removed to obtain a user data message.

[0156] For the specific definition of the data forwarding device, please refer to the definition of the data forwarding method above, which will not be repeated here. Each module in the above-mentioned data forwarding device can be implemented in whole or in part by software, hardware and a combination thereof. The above-mentioned modules can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory in the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.

[0157] In one embodiment, a communication device is provided. Fig.10 . Fig.10 It is a schematic diagram of the structure of a terminal device provided in an embodiment of the present invention. Fig.10The terminal device 1000 shown includes: at least one processor 1001, a memory 1002, at least one network interface 1004 and a user interface 1003. The various components in the terminal device 1000 are coupled together via a bus system 1005. It can be understood that the bus system 1005 is used to achieve connection and communication between these components. In addition to the data bus, the bus system 1005 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, the bus system 1005 is not shown in FIG. Fig.10 Various buses are labeled as bus system 1005. In addition, the embodiment of the present invention also includes a transceiver 1006, which can be multiple components, that is, including a transmitter and a receiver, providing a unit for communicating with various other devices on a transmission medium.

[0158] The user interface 1003 may include a display, a keyboard, or a pointing device (eg, a mouse, a trackball, a touch pad, or a touch screen).

[0159] It can be understood that the memory 1002 in the embodiment of the present invention can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM) and direct RAM bus random access memory (DRRAM). The memory 1002 of the system and method described in the embodiments of the present invention is intended to include, but is not limited to, these and any other suitable types of memory.

[0160] In some implementations, the memory 1002 stores the following elements, executable modules or data structures, or a subset thereof, or an extended set thereof: an operating system 10021 and an application 10022 .

[0161] The operating system 10021 includes various system programs, such as a framework layer, a core library layer, a driver layer, etc., which are used to implement various basic services and process hardware-based tasks. The application 10022 includes various application programs, such as a media player (MediaPlayer), a browser (Browser), etc., which are used to implement various application services. The program for implementing the method of the embodiment of the present invention can be included in the application 10022.

[0162] In the embodiment of the present invention, by calling the program or instruction stored in the memory 1002, specifically, it can be the program or instruction stored in the application 10022, wherein the receiver is used to receive the user data message, and determine the address of the target PPPoE client corresponding to the destination address of the user data message based on the correspondence between the preset destination address and the address of the client; the processor is used to encapsulate the user data message based on the PPPoE header and the Internet Protocol tunnel header to obtain an encapsulated data message; the processor is also used to send the encapsulated data message to the target PPPoE client through the Internet Protocol tunnel and the transmitter based on the address of the target PPPoE client, so that the target PPPoE client performs processing based on the encapsulated data message.

[0163] Part or all of the methods disclosed in the above embodiments of the present invention may also be applied to the processor 1001, or implemented by the processor 1001, or implemented by the processor 1001 in cooperation with other components (such as a transceiver). The processor 1001 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method may be completed by an integrated logic circuit of hardware or software instructions in the processor 1001. The above processor 1001 may be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The methods, steps and logic block diagrams disclosed in the embodiments of the present invention may be implemented or executed. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. The steps of the method disclosed in conjunction with the embodiments of the present invention may be directly embodied as being executed by a hardware decoding processor, or may be executed by a combination of hardware and software modules in a decoding processor. The software module may be located in a storage medium mature in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory 1002, and the processor 1001 reads the information in the memory 1002 and completes the steps of the above method in combination with its hardware.

[0164] It is to be understood that the embodiments described in the embodiments of the present invention may be implemented by hardware, software, firmware, middleware, microcode or a combination thereof. For hardware implementation, the processing unit may be implemented in one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSP devices, DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), general purpose processors, controllers, microcontrollers, microprocessors, other electronic units for performing the functions described in the present application or a combination thereof.

[0165] For software implementation, the technology described in the embodiments of the present invention can be implemented by a module (such as a process, function, etc.) that performs the functions described in the embodiments of the present invention. The software code can be stored in a memory and executed by the processor 1001. The memory can be implemented in the processor 1001 or outside the processor 1001.

[0166] In one of the embodiments, the receiver is further configured to receive user data packets through a VPN channel.

[0167] In one of the embodiments, the processor 1001 is further configured to encapsulate the user data packet based on the PPPoE header to obtain a first data packet; and encapsulate the first data packet through an Internet Protocol tunnel header to obtain an encapsulated data packet.

[0168] In one of the embodiments, the processor 1001 is further used to determine a source address of an Internet Protocol tunnel based on a local address, and to determine a destination address of the Internet Protocol tunnel based on an address of a target PPPoE client; and to send the encapsulated data message to the target PPPoE client through the Internet Protocol tunnel, wherein the address of the target PPPoE client includes a segment identification operation code, and the segment identification operation code is used to instruct the target PPPoE client to perform message processing.

[0169] In the embodiment of the present invention, by calling the program or instruction stored in the memory 1002, specifically, it can be the program or instruction stored in the application 10022, wherein the receiver is used to receive the encapsulated data message sent by the PPPoE server; the processor 1001 is also used to, if it is determined that the destination address of the Internet Protocol tunnel corresponding to the encapsulated data message is a local address, decapsulate the encapsulated data message based on the segment identification operation code in the destination address to obtain a user data message; the transmitter is also used to forward the user data message to a device connected to the PPPoE client.

[0170] In one of the embodiments, the processor 1001 is further configured to remove an Internet Protocol tunnel header and a PPPoE header included in the encapsulated data message to obtain a user data message.

[0171] In one embodiment, a computer readable storage medium is provided, on which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented:

[0172] Receive a user data message, and determine the address of a target PPPoE client corresponding to the destination address of the user data message based on a correspondence between a preset destination address and an address of the client;

[0173] Encapsulating the user data message based on the PPPoE header and the Internet Protocol tunnel header to obtain an encapsulated data message;

[0174] Based on the address of the target PPPoE client, the encapsulated data message is sent to the target PPPoE client through an Internet Protocol tunnel, so that the target PPPoE client performs processing based on the encapsulated data message.

[0175] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:

[0176] Receive user data packets through the VPN channel.

[0177] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:

[0178] Encapsulating the user data message based on the PPPoE header to obtain a first data message;

[0179] The first data message is encapsulated through an Internet Protocol tunnel header to obtain an encapsulated data message.

[0180] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:

[0181] Determining a source address of an Internet Protocol tunnel based on the local address, and determining a destination address of the Internet Protocol tunnel based on an address of a target PPPoE client;

[0182] The encapsulated data message is sent to the target PPPoE client through an Internet Protocol tunnel, the address of the target PPPoE client includes a segment identification operation code, and the segment identification operation code is used to instruct the target PPPoE client to perform message processing.

[0183] In one embodiment, a computer readable storage medium is provided, on which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented:

[0184] Receive the encapsulated data message sent by the PPPoE server;

[0185] If it is determined that the destination address of the Internet Protocol tunnel corresponding to the encapsulated data message is a local address, decapsulating the encapsulated data message based on the segment identification operation code in the destination address to obtain a user data message;

[0186] The user data message is forwarded to a device connected to the PPPoE client.

[0187] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:

[0188] The Internet Protocol tunnel header and the PPPoE header contained in the encapsulated data message are removed to obtain a user data message.

[0189] The present application also provides a computer program product including instructions, which, when executed on a computer, causes the computer to perform the following steps:

[0190] Receive a user data message, and determine the address of a target PPPoE client corresponding to the destination address of the user data message based on a correspondence between a preset destination address and an address of the client;

[0191] Encapsulating the user data message based on the PPPoE header and the Internet Protocol tunnel header to obtain an encapsulated data message;

[0192] Based on the address of the target PPPoE client, the encapsulated data message is sent to the target PPPoE client through an Internet Protocol tunnel, so that the target PPPoE client performs processing based on the encapsulated data message.

[0193] The present application also provides a computer program product including instructions, which, when executed on a computer, causes the computer to perform the following steps:

[0194] Receive the encapsulated data message sent by the PPPoE server;

[0195] If it is determined that the destination address of the Internet Protocol tunnel corresponding to the encapsulated data message is a local address, decapsulating the encapsulated data message based on the segment identification operation code in the destination address to obtain a user data message;

[0196] The user data message is forwarded to a device connected to the PPPoE client.

[0197] Those of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory or optical memory, etc. Volatile memory can include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM).

[0198] The technical features of the above embodiments may be arbitrarily combined. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0199] The above-mentioned embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the invention patent. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the patent of the present application shall be subject to the attached claims.

Claims

1. A data forwarding method, characterized in that: Applied to a PPPoE server, the method comprises: Receive a user data message, and determine the address of a target PPPoE client corresponding to the destination address of the user data message based on a correspondence between a preset destination address and an address of the client; Encapsulating the user data message based on the PPPoE header and the Internet Protocol tunnel header to obtain an encapsulated data message; Based on the address of the target PPPoE client, the encapsulated data message is sent to the target PPPoE client through an Internet Protocol tunnel, so that the target PPPoE client performs processing based on the encapsulated data message.

2. The method according to claim 1, characterized in that The receiving of user data message comprises: Receive user data packets through the VPN channel.

3. The method according to claim 1, characterized in that The method of encapsulating the user data message based on the PPPoE header and the Internet Protocol tunnel header to obtain the encapsulated data message includes: Encapsulating the user data message based on the PPPoE header to obtain a first data message; The first data message is encapsulated through an Internet Protocol tunnel header to obtain an encapsulated data message.

4. The method according to claim 1, characterized in that: The step of sending the encapsulated data message to the target PPPoE client through an Internet Protocol tunnel based on the address of the target PPPoE client comprises: Determining a source address of an Internet Protocol tunnel based on the local address, and determining a destination address of the Internet Protocol tunnel based on an address of a target PPPoE client; The encapsulated data message is sent to the target PPPoE client through an Internet Protocol tunnel, the address of the target PPPoE client includes a segment identification operation code, and the segment identification operation code is used to instruct the target PPPoE client to perform message processing.

5. The method according to claim 4, characterized in that The segment identification operation code is End.DX3PPPoE.

6. A data forwarding method, characterized in that: Applied to a PPPoE client, the method comprises: Receive the encapsulated data message sent by the PPPoE server; If it is determined that the destination address of the Internet Protocol tunnel corresponding to the encapsulated data message is a local address, decapsulating the encapsulated data message based on the segment identification operation code in the destination address to obtain a user data message; The user data message is forwarded to a device connected to the PPPoE client.

7. The method according to claim 6, characterized in that The decapsulating the encapsulated data message based on the segment identification operation code in the destination address to obtain the user data message includes: The Internet Protocol tunnel header and the PPPoE header contained in the encapsulated data message are removed to obtain a user data message.

8. The method according to claim 6 or 7, characterized in that: The segment identification operation code is End.DX3PPPoE.

9. A data forwarding device, characterized in that: Applied to a PPPoE server, the device comprises: A first receiving module, used for receiving a user data message, and determining an address of a target PPPoE client corresponding to the destination address of the user data message based on a correspondence between a preset destination address and an address of a client; An encapsulation module, used for encapsulating the user data message based on a PPPoE header and an Internet Protocol tunnel header to obtain an encapsulated data message; The first sending module is used to send the encapsulated data message to the target PPPoE client through the Internet Protocol tunnel based on the address of the target PPPoE client, so that the target PPPoE client performs processing based on the encapsulated data message.

10. A data forwarding device, characterized in that: Applied to a PPPoE client, the device comprises: The second receiving module is used to receive the encapsulated data message sent by the PPPoE server; a decapsulation module, configured to, if it is determined that the destination address of the Internet Protocol tunnel corresponding to the encapsulated data message is a local address, decapsulate the encapsulated data message based on the segment identification operation code in the destination address to obtain a user data message; The second sending module is used to forward the user data message to the device connected to the PPPoE client.

11. A communication device, characterized in that: include: transmitter, processor, and receiver; The receiver is used to receive a user data message, and determine the address of a target PPPoE client corresponding to the destination address of the user data message based on a correspondence between a preset destination address and an address of the client; The processor is used to encapsulate the user data message based on the PPPoE header and the Internet Protocol tunnel header to obtain an encapsulated data message; The processor is further configured to send the encapsulated data message to the target PPPoE client through the Internet Protocol tunnel and the transmitter based on the address of the target PPPoE client, so that the target PPPoE client performs processing based on the encapsulated data message.

12. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 8 are implemented.

13. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 8 are implemented.

Citation Information

Patent Citations

  • PPPOE (point-to-point protocol over Ethernet) message forwarding method and BRAS (broadband remote access server)

    CN105099898A

  • Path establishment method, data transmission method and device, network node and storage medium

    CN113382452A

  • Message forwarding method and device

    CN116684367A

  • Packet transmission system, its method, and tunneling device

    JP2007104440A

  • Packet processing architecture

    US20110268119A1