Data forwarding method and device, communication equipment and storage medium
By introducing an Internet protocol tunnel between the PPPoE client and the server, and using segment identification opcodes for message processing, the inefficiency problem of cross-layer three communication between the PPPoE client and the server is solved, and efficient PPPoE over SRv6 communication is achieved.
Patent Information
- Application Number
- CN202311285044.9
- 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
In the scenario of PPPoE dial-up to establish a VPN, the PPPoE client and the PPPoE server are usually not on the same Layer 2 network, which requires communication across Layer 3 Spine and Leaf and other routing devices, with complex configurations and low communication efficiency.
By introducing an Internet protocol tunnel between the PPPoE client and the server, the segment identification operation code (such as End.DX3PPPoE) is used to instruct the PPPoE server to perform packet processing, so as to encapsulate and decapsulate user data packets, and process them based on the 3-layer VPN forwarding table.
The configuration process is simplified, the communication of PPPoE over SRv6 is realized, the communication efficiency is improved, the problem of layer 2 broadcast storms is avoided, and the efficiency of network establishment and the reliability of data transmission is improved.
Smart Images

Figure CN119728514A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication network technology, and in particular to a data forwarding method, apparatus, communication equipment, storage medium and computer program product. Background Art
[0002] With the rapid development of communication technology, users have an increasing demand for virtual network access. In the scenario of PPPoE dial-up to establish a VPN, the PPPoE client and the PPPoE server are required to form a Layer 2 network. However, in the current new metropolitan area network, the PPPoE server and the PPPoE client are not naturally in the same Layer 2 network, and routing devices such as Spine and Leaf across the third layer are required.
[0003] In the related technology, SRV6 technology is used to implement a large Layer 2 network across Leaf and SPINE groups, which has a relatively complex configuration and results in low communication efficiency. Summary of the invention
[0004] Based on this, it is necessary to provide a data forwarding method, apparatus, communication equipment, computer-readable storage medium and computer program product that can improve communication efficiency in response to the above technical problems.
[0005] In a first aspect, the present application provides a data forwarding method, applied to a PPPoE client, the method comprising:
[0006] Determine a source address of an Internet Protocol tunnel based on the local address, and determine a destination address of the Internet Protocol tunnel based on an address of a PPPoE server, wherein the address of the PPPoE server includes a segment identification operation code, and the segment identification operation code is used to instruct the PPPoE server to perform message processing;
[0007] Encapsulating the user data message based on the PPPoE header and the Internet Protocol tunnel header to obtain an encapsulated data message;
[0008] The encapsulated data message is sent to the PPPoE server through the Internet Protocol tunnel, so that the PPPoE server performs processing based on the encapsulated data message.
[0009] In one of the embodiments, the segment identification operation code is used to instruct the PPPoE server to perform message processing, including: the segment identification operation code is used to instruct the PPPoE server to decapsulate the encapsulated data message, obtain user data plane information, and perform processing based on the user data plane information and the 3-layer VPN forwarding table.
[0010] In one of the embodiments, the segment identification operation code is End.DX3PPPoE.
[0011] In one embodiment, determining the source address of the Internet Protocol tunnel based on the local address, and determining the destination address of the Internet Protocol tunnel based on the address of the PPPoE server, includes:
[0012] Determining the local address of the PPPoE client as the source address of the Internet Protocol tunnel;
[0013] The address of the PPPoE server carrying the segment identification operation code is determined as the destination address of the Internet Protocol tunnel.
[0014] 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:
[0015] The user data message is encapsulated based on the PPPoE header to obtain a first data message, and the first data message is encapsulated through the Internet Protocol tunnel header to obtain an encapsulated data message.
[0016] In a second aspect, the present application provides a data forwarding method, applied to a PPPoE server, the method comprising:
[0017] Receive the encapsulated data message sent by the PPPoE client;
[0018] 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 address to obtain a user data message and user data plane information;
[0019] The user data message is processed based on the user data plane information.
[0020] In one embodiment, the decapsulating the encapsulated data message to obtain the user data message includes:
[0021] The Internet Protocol tunnel header and the PPPoE header contained in the encapsulated data message are removed to obtain a user data message.
[0022] In one of the embodiments, the processing the user data message based on the user data plane information includes:
[0023] Determine the VRF instance corresponding to the user data plane information based on the pre-configured correspondence between the user data plane information and the VRF instance;
[0024] The Layer 3 VPN forwarding table is queried through the VRF instance to determine a target VPN channel, and the user data message is forwarded to the target VPN channel.
[0025] In a third aspect, the present application further provides a data forwarding device, applied to a PPPoE client, the device comprising:
[0026] A first determination module is 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 PPPoE server, wherein the address of the PPPoE server includes a segment identification operation code, and the segment identification operation code is used to instruct the PPPoE server to perform message processing;
[0027] A first encapsulation module 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;
[0028] The first sending module is used to send the encapsulated data message to the PPPoE server through the Internet Protocol tunnel, so that the PPPoE server processes based on the encapsulated data message.
[0029] In a fourth aspect, the present application further provides a data forwarding device, applied to a PPPoE server, the device comprising:
[0030] A first receiving module, used for receiving an encapsulated data message sent by a PPPoE client;
[0031] 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 address to obtain a user data message and user data plane information;
[0032] The access module is used to process the user data message based on the user data plane information.
[0033] In a fifth aspect, the present application further provides a communication device, including: a transmitter, a processor;
[0034] The processor is 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 PPPoE server, wherein the address of the PPPoE server includes a segment identification operation code, and the segment identification operation code is used to instruct the PPPoE server to perform message processing;
[0035] The processor is further used to encapsulate the user data message based on the PPPoE header and the Internet Protocol tunnel header to obtain an encapsulated data message;
[0036] The transmitter is used to send the encapsulated data message to the PPPoE server through the Internet Protocol tunnel, so that the PPPoE server performs processing based on the encapsulated data message.
[0037] 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:
[0038] The method comprises: determining a source address of an Internet Protocol tunnel based on a local address, and determining a destination address of the Internet Protocol tunnel based on an address of a PPPoE server, wherein the address of the PPPoE server includes a segment identification operation code, and the segment identification operation code is used to instruct the PPPoE server to perform message processing; encapsulating a user data message based on a PPPoE header and an Internet Protocol tunnel header to obtain an encapsulated data message; and sending the encapsulated data message to the PPPoE server through the Internet Protocol tunnel, so that the PPPoE server performs processing based on the encapsulated data message.
[0039] 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:
[0040] The method comprises: determining a source address of an Internet Protocol tunnel based on a local address, and determining a destination address of the Internet Protocol tunnel based on an address of a PPPoE server, wherein the address of the PPPoE server includes a segment identification operation code, and the segment identification operation code is used to instruct the PPPoE server to perform message processing; encapsulating a user data message based on a PPPoE header and an Internet Protocol tunnel header to obtain an encapsulated data message; and sending the encapsulated data message to the PPPoE server through the Internet Protocol tunnel, so that the PPPoE server performs processing based on the encapsulated data message.
[0041] The above-mentioned data forwarding method, device, communication equipment, storage medium and computer program product, the method includes: determining the source address of the Internet Protocol tunnel based on the local address, and determining the destination address of the Internet Protocol tunnel based on the address of the PPPoE server, the address of the PPPoE server contains a segment identification operation code, and the segment identification operation code is used to instruct the PPPoE server to process the message; based on the PPPoE header and the Internet Protocol tunnel header, encapsulating the user data message to obtain an encapsulated data message; sending the encapsulated data message to the PPPoE server through the Internet Protocol tunnel, so that the PPPoE server processes based on the encapsulated data message. By adopting this method, the configuration process can be simplified, PPPoE over SRv6 communication can be realized, and communication efficiency can be improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] Figure 1 An application environment diagram of a data forwarding method in an embodiment;
[0043] Figure 2 A schematic diagram of a flow chart of a data forwarding method in an embodiment;
[0044] Figure 3 A schematic diagram of a flow chart of steps for determining a source address and a destination address in one embodiment;
[0045] Figure 4 A schematic diagram of a flow chart of message processing steps in an embodiment;
[0046] Figure 5 A schematic diagram of a flow chart of the steps of forwarding a data message through a VRF instance in an embodiment;
[0047] Figure 6 A schematic diagram of the structure of a data forwarding method in another embodiment;
[0048] Figure 7 is a structural block diagram of a data forwarding device in an embodiment;
[0049] Figure 8 is a structural block diagram of a data forwarding device in an embodiment;
[0050] Fig. 9 FIG. 4 is a diagram showing the internal structure of a communication device in one embodiment. DETAILED DESCRIPTION
[0051] 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.
[0052] 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.
[0053] 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.
[0054] In traditional technology, in the scenario of establishing a VPN through PPPoE dial-up, the PPPoE client and the PPPoE server are required to perform 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, and potential risks of Layer 2 broadcast storms.
[0055] Based on the above-mentioned traditional technology, the embodiment of the present application provides a data forwarding method, that is, a method for implementing PPPoEover SRv6. The data forwarding method provided by the embodiment of the present application can newly define a segment identification operation code (which can be recorded as SID opcode), and the segment identification operation code can be END.PPPoE.X. The segment identification operation code can indicate the decapsulation processing of the PPPoE over IPv6 / SRV6 message, and forward the message to the interface for VPN processing based on the VRF instance associated with the PPPoE session. Through the above-mentioned message processing method, the original UP pool / MSE large two-layer VPN establishment method can be expanded to support three-layer VPN establishment, and the PPPoE client can be enabled to establish a VPN through the Overlay three-layer network, simplifying the network configuration process, avoiding broadcast storm risks, and improving the communication efficiency with the network.
[0056] 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.
[0057] 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.
[0058] In one embodiment, Figure 2 As shown, a data forwarding method is provided, which is applied to Figure 1 The following steps are used to illustrate the PPPoE client in the example:
[0059] Step 202, 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 PPPoE server.
[0060] The address of the PPPoE server includes a segment identification operation code, and the segment identification operation code is used to instruct the PPPoE server to process the message. The local address can be the communication address of the PPPoE client, and the communication 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., and the Internet Protocol tunnel can be a communication tunnel based on the Internet Protocol, for example, it can be an IPV4 tunnel, or an IPV6 tunnel, etc.; the address of the PPPoE server can be determined based on the communication address of the PPPoE server and the segment identification operation code, and the communication address of the PPPoE server can be the MAC address of the PPPoE server, or the IP address of the PPPoE server, or the IP address and port number of the PPPoE server.
[0061] Specifically, the PPPoE client can obtain the address of the local PPPoE client, determine the obtained local address as the source address of the Internet Protocol tunnel, and obtain the address of the PPPoE server connected to the PPPoE client, and determine the address of the PPPoE server as the destination address of the Internet Protocol tunnel.
[0062] Step 204: encapsulate the user data message based on the PPPoE header and the Internet Protocol tunnel header to obtain an encapsulated data message.
[0063] 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.
[0064] Specifically, after the PPPoE client determines the source address and the destination address of the Internet Protocol tunnel, the PPPoE client can encapsulate the user data message to be transmitted based on the PPPoE header and the Internet Protocol tunnel header to obtain the encapsulated data message. In an example, the PPPoE client can receive the user data message sent by the user equipment, and the user data message can be a data message for accessing a virtual private network, or a data message that needs to communicate with the virtual private network, etc.
[0065] Step 206: Send the encapsulated data message to the PPPoE server through the Internet Protocol tunnel, so that the PPPoE server performs processing based on the encapsulated data message.
[0066] Specifically, after obtaining the encapsulated data message, the PPPoE client can transmit the encapsulated data message after encapsulation through the determined source address of the Internet Protocol tunnel and the destination address of the Internet Protocol tunnel. The PPPoE client can transmit the encapsulated data message to the PPPoE server via the Internet Protocol tunnel corresponding to the ipv4 network; the PPPoE client can also transmit the encapsulated data message to the PPPoE server via the Internet Protocol tunnel corresponding to the ipv6 network. In this way, after receiving the encapsulated data message, the PPPoE server can process the message when it is determined that the destination address of the encapsulated data message contains the segment identification operation code, so as to achieve access to the virtual private network.
[0067] In the above data forwarding method, the source address of the Internet Protocol tunnel is determined based on the local address, and the destination address of the Internet Protocol tunnel is determined based on the address of the PPPoE server, the address of the PPPoE server contains a segment identification operation code, and the segment identification operation code is used to instruct the PPPoE server to process the message; based on the PPPoE header and the Internet Protocol tunnel header, the user data message is encapsulated to obtain an encapsulated data message; 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. By adopting this method, the configuration process can be simplified, the communication of PPPoE over SRv6 can be realized, and the communication efficiency can be improved.
[0068] In one embodiment, the segment identification operation code is used to instruct the PPPoE server to perform message processing, including: the segment identification operation code is used to instruct the PPPoE server to decapsulate the encapsulated data message, obtain user data plane information, and perform processing based on the user data plane information and the 3-layer VPN forwarding table.
[0069] Specifically, when the PPPoE server determines that the destination address corresponding to the encapsulated data message contains the segment identification operation code, the PPPoE server can decapsulate the received encapsulated data message, remove the Internet Protocol tunnel header and the PPPoE header contained in the encapsulated data message, and obtain the user data plane information contained in the user data message. Based on this, the PPPoE server can perform message processing on the user data message based on the user data plane information and the preset 3-layer VPN forwarding table.
[0070] In this embodiment, by carrying the segment identification operation code in the destination address of the message, the PPPoE server 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.
[0071] In one embodiment, the segment identification opcode is End.DX3PPPoE.
[0072] 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, X3PPPOE indicates cross connection, and the PPPoE server may query the Layer 3 VPN forwarding table based on the PPPoE session information.
[0073] In this embodiment, by carrying the segment identification operation code in the destination address of the message, the PPPoE server 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.
[0074] In one embodiment, Figure 3 As shown, the specific processing process of step 202 "determining the source address of the Internet Protocol tunnel based on the local address, and determining the destination address of the Internet Protocol tunnel based on the address of the PPPoE server" includes:
[0075] Step 302: Determine the local address of the PPPoE client as the source address of the Internet Protocol tunnel.
[0076] Among them, the source address of the Internet Protocol tunnel can be the address of the data sending end of the Internet Protocol tunnel, the local address of the PPPoE client can be the communication address of the PPPoE client, the communication address of the PPPoE client can be the MAC address of the PPPoE client, it can also be the IP address of the PPPoE client, or it can be the IP address and port number of the PPPoE client.
[0077] Specifically, when receiving the user data message, the PPPoE client can determine the local address of the PPPoE client as the source address of the Internet Protocol tunnel, that is, determine the communication address of the PPPoE client as the source address of the Internet Protocol tunnel. In other words, the PPPoE client can use the local address of the PPPoE client as the source address of the Internet Protocol tunnel.
[0078] Step 304: determine that the address of the PPPoE server carrying the segment identification operation code is the destination address of the Internet Protocol tunnel.
[0079] The address of the PPPoE server may be a communication address of the PPPoE server, and the communication address of the PPPoE server may be a MAC address of the PPPoE server, or an IP address of the PPPoE server, or an IP address and a port number of the PPPoE server.
[0080] Specifically, the PPPoE client can obtain the address of the PPPoE server and the segment identification operation code, and add the segment identification operation code to the address of the PPPoE server to obtain the address of the PPPoE server carrying the segment identification operation code. In this way, the PPPoE client can use the address of the PPPoE server containing the segment identification operation code as the destination address of the Internet Protocol tunnel.
[0081] In this embodiment, the source address of the Internet Protocol tunnel is determined by the address of the PPPoE client, and the destination address of the Internet Protocol tunnel is determined by the address of the PPPoE server and the segment identification operation code. This can realize the transmission of user data packets through the PPPoE protocol and the Internet Protocol tunnel, simplify the configuration process of network access through PPPoE, simplify cutover, avoid problems such as layer 2 broadcast storms, and improve communication quality.
[0082] In one embodiment, 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:
[0083] The user data message is encapsulated based on the PPPoE header to obtain a first data message, and the first data message is encapsulated through the Internet Protocol tunnel header to obtain an encapsulated data message.
[0084] Specifically, after receiving the user data message, the PPPoE client 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 client can add the field of the PPPoE header to the header position of the user data message, or it can also 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. The PPPoE client can encapsulate the first data message based on the Internet Protocol tunnel header. The specific encapsulation process may be that the PPPoE client can add the field of the Internet Protocol tunnel header to the header position of the first data message, or it can also 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 the encapsulated data message.
[0085] In one example, the process of encapsulating the received user data message by the PPPoE client based on the PPPoE header and the Internet Protocol Tunnel header may be: after receiving the user data message, the PPPoE client 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 client 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 client may encapsulate the first data message based on the PPPoE header, and the specific encapsulation process may be that the PPPoE client 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.
[0086] 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.
[0087] In one embodiment, the method further comprises:
[0088] Based on the address configuration operation on the PPPoE client, obtaining the address of the PPPoE server corresponding to the address configuration operation;
[0089] The address configuration operation on the PPPoE client may be an operation of performing address configuration on the PPPoE client, for example, an operation of configuring the address of the PPPoE server corresponding to the PPPoE client on the PPPoE client.
[0090] Specifically, the user equipment (operation and maintenance personnel) can configure the address of the PPPoE server on the PPPoE client and perform the address configuration operation. In response to the address configuration operation, the PPPoE client can obtain the address information carried by the address configuration operation and determine the address information as the address of the PPPoE server.
[0091] In this embodiment, the address of the PPPoE server is configured by performing an address configuration operation on the PPPoE client, thereby improving the convenience of address configuration.
[0092] In one embodiment, the method further comprises:
[0093] Receive the target address sent by the remote network element, and determine the received target address as the address of the PPPoE server.
[0094] The remote network element may be a functional network element that is connected to the PPPoE client for communication. For example, the remote network element may be a configuration network element for configuring the address of the PPPoE server.
[0095] Specifically, after the remote network element is connected to the PPPoE client, it can send a message containing the address of the PPPoE server corresponding to the PPPoE client to the PPPoE client, for example, it can send a message containing the target address to the PPPoE client. After receiving the message, the PPPoE client can determine the target address carried in the message as the address of the PPPoE server.
[0096] In this embodiment, the address of the PPPoE server is determined by receiving the address sent by the remote network element, which can enrich the determination method of the PPPoE server and ensure the diversification of the address configuration of the PPPoE server.
[0097] In one embodiment, Figure 4 As shown, a data forwarding method is provided. This embodiment applies the method to the PPPoE server. The data forwarding method includes:
[0098] Step 402: Receive the encapsulated data message sent by the PPPoE client.
[0099] Specifically, the PPPoE client can send encapsulated data packets to the PPPoE server through the Internet Protocol tunnel, and the PPPoE server can receive the encapsulated data packets sent by the PPPoE client through the Internet Protocol tunnel.
[0100] Step 404: 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 target address to obtain the user data message and the user data plane information.
[0101] Among them, the segment identification operation code is used to instruct the PPPoE server to process the message, that is, the segment identification operation code is used to instruct the PPPoE server to decapsulate the encapsulated data message, obtain the user data plane information, and process based on the user data plane information and the 3-layer VPN forwarding table.
[0102] Specifically, when the PPPoE server 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 server determines that the destination address corresponding to the encapsulated data message is consistent with the local address of the PPPoE server, the PPPoE server can decapsulate the received encapsulated data message based on the segment identification operation code contained in the destination address, remove the Internet Protocol tunnel header and the PPPoE header contained in the encapsulated data message, and obtain the user data message and the user data plane information. Based on this, the PPPoE server can perform message processing on the user data message based on the user data plane information and the preset 3-layer VPN forwarding table.
[0103] In this embodiment, by carrying the segment identification operation code in the destination address, the PPPoE server 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.
[0104] Step 406: Process the user data message based on the user data plane information.
[0105] Specifically, after the PPPoE server decapsulates the encapsulated data message, it can obtain user data plane information and user data message. The PPPoE server can forward the user data message based on the user data plane information and the Layer 3 VPN forwarding table to access the virtual private network.
[0106] In this embodiment, the configuration process can be simplified, PPPoE over SRv6 communication can be implemented, and communication efficiency can be improved.
[0107] In one embodiment, the specific processing of step 404 of "decapsulating the encapsulated data message to obtain the user data message" includes:
[0108] The Internet Protocol tunnel header and the PPPoE header contained in the encapsulated data message are removed to obtain a user data message.
[0109] 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.
[0110] Specifically, the process of the PPPoE server decapsulating the encapsulated data message may be that the PPPoE server removes the Internet Protocol tunnel header and the PPPoE header contained in the encapsulated data message, and removes the encapsulated data message of the Internet Protocol tunnel header and the PPPoE header, that is, obtains the user data message and the user data plane information.
[0111] 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.
[0112] In one embodiment, Figure 5 As shown, the specific processing process of the step "processing the user data message based on the user data plane information" includes:
[0113] Step 502: Determine the VRF instance corresponding to the user data plane information based on the pre-configured correspondence between the user data plane information and the VRF instance.
[0114] Among them, the user data plane information may include one or more of Session ID (task identification information), MAC address, IP address, and VLAN information. The correspondence between the pre-configured user data plane and the VRF instance may be data pre-stored in the storage space corresponding to the PPPoE server. The correspondence may be a mapping relationship between the user data plane information and the VRF instance.
[0115] Specifically, the PPPoE server can query the pre-configured correspondence between the user data plane information and the VRF instance, and query the user data plane information corresponding to the user data packet and the corresponding VRF instance. That is to say, the PPPoE server can query the pre-configured correspondence between the user data plane information and the VRF instance to see whether there is user data plane information corresponding to the user data packet. If the PPPoE server queries the user data plane information corresponding to the user data packet in the correspondence between the user data plane information and the VRF instance, the VRF instance corresponding to the queried user data plane information is determined as the VRF instance corresponding to the user data packet.
[0116] In one example, during the negotiation phase of PPPoE, the SGW (Serving GateWay) authenticates the username and password of the PPPoE client. After the authentication is passed, the PPPoE client is assigned an IP address and the VRF instance associated with the user corresponding to the PPPoE client is queried. If the associated VRF instance is found, the SGW can establish a mapping table between user data plane information and VRF instance, and the user data plane information can be selected as one or more of SessionID, MAC address, IP address, and vlan information.
[0117] Step 504, query the Layer 3 VPN forwarding table through the VRF instance, determine the target VPN channel, and forward the user data message to the target VPN channel.
[0118] The Layer 3 VPN forwarding table may be a data table pre-stored in a storage space of the PPPoE server.
[0119] Specifically, the PPPoE server can query the VPN channel corresponding to the VRF instance in the Layer 3 VPN forwarding table based on the queried VRF instance. In this way, the PPPoE server can determine the VPN channel corresponding to the VRF instance as the target VPN channel. In this way, the PPPoE server can forward the user data message through the target VPN channel, that is, the PPPoE server can forward the user data message to the target VPN channel to achieve communication between the client corresponding to the user data message and the virtual private network, that is, to achieve access of the client corresponding to the user data message to the virtual private network.
[0120] In this embodiment, the efficiency of establishing the communication network is improved, and the communication quality and efficiency between the client and the virtual private network are guaranteed.
[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, X3PPPOE indicates cross connection, and the PPPoE server may query the Layer 3 VPN forwarding table based on the PPPoE session information.
[0123] In this embodiment, by carrying the segment identification operation code in the destination address of the message, the PPPoE server 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.
[0124] In one embodiment, Figure 6 Provide an interactive flow chart of a data forwarding method. Figure 6 As shown, including a PPPoE client and a PPPoE server, the method includes the following steps:
[0125] The data forwarding method provided in the embodiment of the present application can be an implementation method of PPPoE over SRv6. In this embodiment, a new SID opcode, namely END.PPPoE.X, is added. The SID opcode can decapsulate the PPPoE over IPV6 / SRV6 message and forward it to the corresponding interface for VPN processing based on the VRF associated with the PPPoE session, thereby supporting three-layer VPN.
[0126] The PPPoE client communicates with the PPPoE server through PPPoE over IPV6, completes PPPoE dial-up and authentication, and obtains the business address; the PPPoE client can encapsulate the user data message payload in the form of ipv4 / ipv6 with the PPPoE header and the Internet Protocol Tunneling Header (IPv6 header) to obtain the encapsulated data message, in which the destination address DA = PPPoE server END.PPPoE.X SID; the source address SA = PPPoE client IPv6.
[0127] The PPPoE client can send encapsulated data packets to the PPPoE server through the network, decapsulate the encapsulated data packets, obtain the user data packet payload in the form of ipv4 / ipv6, and find the VRF instance based on the user data plane information, enter the VPN channel, and realize communication with the virtual private network.
[0128] Specifically, the PPPoE client can initiate a VPN service request through the obtained service address. After receiving the request, the PPPoE server finds that the destination SID is a local address, and then performs corresponding operations based on the opcode END.PPPoE.X carried in the destination SID, including: associating and searching the user domain name and VRF, RD and RT information through the sessionID, IP address and other information carried by the PPPoE session, stripping the IPV6 header and PPPoE header, searching the VRF instance, entering the pre-configured VPN channel, and realizing the VPN service.
[0129] The data forwarding method provided in this embodiment proposes a destination address containing a SID opcode, and the SID opcode may be END.PPPoE.X. The SID opcode may decapsulate the PPPoE over IPV6 / SRV6 message and forward it to a corresponding interface for VPN processing based on the VRF, RD, and RT values associated with the PPPoE session, thereby enabling the PPPoE client to establish a VPN through an Overlay three-layer network.
[0130] It should be understood that, although the various steps in the flowcharts involved in the above-mentioned embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-mentioned embodiments can include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0131] Based on the same inventive concept, the embodiment of the present application also provides a data forwarding device for implementing the data forwarding method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in one or more data forwarding device embodiments provided below can refer to the limitations on the data forwarding method above, and will not be repeated here.
[0132] In one embodiment, Figure 7 As shown, a data forwarding device 700 is provided, which is applied to a PPPoE client, and includes: a first determination module 702, a first encapsulation module 704 and a first sending module 706, wherein:
[0133] A first determination module 702 is 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 PPPoE server, wherein the address of the PPPoE server includes a segment identification operation code, and the segment identification operation code is used to instruct the PPPoE server to perform message processing;
[0134] A first encapsulation module 704 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;
[0135] The first sending module 706 is used to send the encapsulated data message to the PPPoE server through the Internet Protocol tunnel, so that the PPPoE server processes based on the encapsulated data message.
[0136] In one embodiment, the first determining module is specifically configured to:
[0137] Determining the local address of the PPPoE client as the source address of the Internet Protocol tunnel;
[0138] The address of the PPPoE server carrying the segment identification operation code is determined as the destination address of the Internet Protocol tunnel.
[0139] In one embodiment, the first packaging module is specifically used for:
[0140] The user data message is encapsulated based on the PPPoE header to obtain a first data message, and the first data message is encapsulated through the Internet Protocol tunnel header to obtain an encapsulated data message.
[0141] 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, a decapsulation module 804 and an access module 806, wherein:
[0142] The first receiving module 802 is used to receive the encapsulated data message sent by the PPPoE client;
[0143] The decapsulation module 804 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 address to obtain a user data message and user data plane information;
[0144] The access module 806 is used to process the user data message based on the user data plane information.
[0145] In one embodiment, the decapsulation module is specifically used to:
[0146] The Internet Protocol tunnel header and the PPPoE header contained in the encapsulated data message are removed to obtain a user data message.
[0147] In one embodiment, the access module is specifically used for:
[0148] Determine the VRF instance corresponding to the user data plane information based on the pre-configured correspondence between the user data plane information and the VRF instance;
[0149] The Layer 3 VPN forwarding table is queried through the VRF instance to determine a target VPN channel, and the user data message is forwarded to the target VPN channel.
[0150] Each module in the above data forwarding device can be implemented in whole or in part by software, hardware or a combination thereof. Each module can be embedded in or independent of a processor in a communication device in the form of hardware, or can be stored in a memory in a communication device in the form of software, so that the processor can call and execute operations corresponding to each module.
[0151] In one embodiment, a communication device is provided. Fig. 9 . Fig. 9 It is a schematic diagram of the structure of a terminal device provided in an embodiment of the present invention. Fig. 9 The terminal device 900 shown includes: at least one processor 901, a memory 902, at least one network interface 904 and a user interface 903. The various components in the terminal device 900 are coupled together via a bus system 905. It can be understood that the bus system 905 is used to achieve connection and communication between these components. In addition to the data bus, the bus system 905 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, the bus system 905 is not shown in FIG. Fig. 9 Various buses are labeled as bus system 905. In addition, the embodiment of the present invention also includes a transceiver 906, 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.
[0152] The user interface 903 may include a display, a keyboard, or a pointing device (eg, a mouse, a trackball, a touch pad, or a touch screen).
[0153] It can be understood that the memory 902 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 902 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.
[0154] In some embodiments, the memory 902 stores the following elements, executable modules or data structures, or a subset thereof, or an extended set thereof: an operating system 9021 and an application program 9022 .
[0155] The operating system 9021 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 9022 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 9022.
[0156] In the embodiment of the present invention, by calling the program or instruction stored in the memory 902, specifically, it can be the program or instruction stored in the application 9022, wherein the processor is used to determine the source address of the Internet Protocol tunnel based on the local address, and determine the destination address of the Internet Protocol tunnel based on the address of the PPPoE server, the address of the PPPoE server includes a segment identification operation code, and the segment identification operation code is used to instruct the PPPoE server to perform message processing; the processor is also 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 transmitter is used to send the encapsulated data message to the PPPoE server through the Internet Protocol tunnel, so that the PPPoE server performs processing based on the encapsulated data message.
[0157] Part or all of the methods disclosed in the above embodiments of the present invention may also be applied to the processor 901, or implemented by the processor 901, or implemented by the processor 901 in cooperation with other components (such as a transceiver). The processor 901 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 in the processor 901 or by instructions in the form of software. The above processor 901 may be a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field programmable gate array (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 902, and the processor 901 reads the information in the memory 902 and completes the steps of the above method in combination with its hardware.
[0158] 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.
[0159] 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 901. The memory can be implemented in the processor 901 or outside the processor 901.
[0160] In one embodiment, the processor 901 is further configured to determine the local address of the PPPoE client as the source address of the Internet Protocol tunnel; and determine the address of the PPPoE server carrying the segment identification operation code as the destination address of the Internet Protocol tunnel.
[0161] In one of the embodiments, the processor 901 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.
[0162] In the embodiment of the present invention, by calling the program or instruction stored in the memory 902, specifically, it can be the program or instruction stored in the application 9022, wherein the receiver is used to receive the encapsulated data message sent by the PPPoE client; the processor 901 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 address to obtain the user data message and the user data plane information; and process the user data message based on the user data plane information.
[0163] In one of the embodiments, the processor 901 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.
[0164] In one of the embodiments, the processor 901 is also used to determine the VRF instance corresponding to the user data plane information based on the pre-configured correspondence between the user data plane information and the VRF instance; query the 3-layer VPN forwarding table through the VRF instance to determine the target VPN channel, and forward the user data message to the target VPN channel through the transmitter.
[0165] 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:
[0166] Determine a source address of an Internet Protocol tunnel based on the local address, and determine a destination address of the Internet Protocol tunnel based on an address of a PPPoE server, wherein the address of the PPPoE server includes a segment identification operation code, and the segment identification operation code is used to instruct the PPPoE server to perform message processing;
[0167] Encapsulating the user data message based on the PPPoE header and the Internet Protocol tunnel header to obtain an encapsulated data message;
[0168] The encapsulated data message is sent to the PPPoE server through the Internet Protocol tunnel, so that the PPPoE server performs processing based on the encapsulated data message.
[0169] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0170] Determining the local address of the PPPoE client as the source address of the Internet Protocol tunnel;
[0171] The address of the PPPoE server carrying the segment identification operation code is determined as the destination address of the Internet Protocol tunnel.
[0172] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0173] The user data message is encapsulated based on the PPPoE header to obtain a first data message, and the first data message is encapsulated through the Internet Protocol tunnel header to obtain an encapsulated data message.
[0174] 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:
[0175] Receive the encapsulated data message sent by the PPPoE client;
[0176] 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 address to obtain a user data message and user data plane information;
[0177] The user data message is processed based on the user data plane information.
[0178] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0179] The Internet Protocol tunnel header and the PPPoE header contained in the encapsulated data message are removed to obtain a user data message.
[0180] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0181] Determine the VRF instance corresponding to the user data plane information based on the pre-configured correspondence between the user data plane information and the VRF instance;
[0182] The Layer 3 VPN forwarding table is queried through the VRF instance to determine a target VPN channel, and the user data message is forwarded to the target VPN channel.
[0183] 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:
[0184] Determine a source address of an Internet Protocol tunnel based on the local address, and determine a destination address of the Internet Protocol tunnel based on an address of a PPPoE server, wherein the address of the PPPoE server includes a segment identification operation code, and the segment identification operation code is used to instruct the PPPoE server to perform message processing;
[0185] Encapsulating the user data message based on the PPPoE header and the Internet Protocol tunnel header to obtain an encapsulated data message;
[0186] The encapsulated data message is sent to the PPPoE server through the Internet Protocol tunnel, so that the PPPoE server performs processing based on the encapsulated data message.
[0187] 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:
[0188] Receive the encapsulated data message sent by the PPPoE client;
[0189] 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 address to obtain a user data message and user data plane information;
[0190] The user data message is processed based on the user data plane information.
[0191] 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).
[0192] The technical features of the above embodiments may be combined arbitrarily. 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.
[0193] 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 client, the method comprises: Determine a source address of an Internet Protocol tunnel based on the local address, and determine a destination address of the Internet Protocol tunnel based on an address of a PPPoE server, wherein the address of the PPPoE server includes a segment identification operation code, and the segment identification operation code is used to instruct the PPPoE server to perform message processing; Encapsulating the user data message based on the PPPoE header and the Internet Protocol tunnel header to obtain an encapsulated data message; The encapsulated data message is sent to the PPPoE server through the Internet Protocol tunnel, so that the PPPoE server performs processing based on the encapsulated data message.
2. The method according to claim 1, characterized in that The segment identification operation code is used to instruct the PPPoE server to perform message processing, including: the segment identification operation code is used to instruct the PPPoE server to decapsulate the encapsulated data message, obtain user data plane information, and perform processing based on the user data plane information and the 3-layer VPN forwarding table.
3. The method according to claim 1, characterized in that The segment identification operation code is End.DX3PPPoE.
4. The method according to claim 1, characterized in that The method of 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 PPPoE server includes: Determining the local address of the PPPoE client as the source address of the Internet Protocol tunnel; The address of the PPPoE server carrying the segment identification operation code is determined as the destination address of the Internet Protocol tunnel.
5. 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: The user data message is encapsulated based on the PPPoE header to obtain a first data message, and the first data message is encapsulated through the Internet Protocol tunnel header to obtain an encapsulated data message.
6. A data forwarding method, characterized in that: Applied to a PPPoE server, the method comprises: Receive the encapsulated data message sent by the PPPoE client; 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 address to obtain a user data message and user data plane information; The user data message is processed based on the user data plane information.
7. The method according to claim 6, characterized in that The decapsulating the encapsulated data message 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, characterized in that The processing of the user data message based on the user data plane information includes: Determine the VRF instance corresponding to the user data plane information based on the pre-configured correspondence between the user data plane information and the VRF instance; The Layer 3 VPN forwarding table is queried through the VRF instance to determine a target VPN channel, and the user data message is forwarded to the target VPN channel.
9. A data forwarding device, characterized in that: Applied to a PPPoE client, the device comprises: A first determination module is 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 PPPoE server, wherein the address of the PPPoE server includes a segment identification operation code, and the segment identification operation code is used to instruct the PPPoE server to perform message processing; A first encapsulation module 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 first sending module is used to send the encapsulated data message to the PPPoE server through the Internet Protocol tunnel, so that the PPPoE server processes based on the encapsulated data message.
10. A data forwarding device, characterized in that: Applied to a PPPoE server, the device comprises: A first receiving module, used for receiving an encapsulated data message sent by a PPPoE client; 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 address to obtain a user data message and user data plane information; The access module is used to process the user data message based on the user data plane information.
11. A communication device, characterized in that: include: Transmitter, processor; The processor is 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 PPPoE server, wherein the address of the PPPoE server includes a segment identification operation code, and the segment identification operation code is used to instruct the PPPoE server to perform message processing; The processor is further 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 transmitter is used to send the encapsulated data message to the PPPoE server through the Internet Protocol tunnel, so that the PPPoE server 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
Segment routing method and device
CN112448887A
Message forwarding method and device based on SDN segment routing networking, and storage medium
CN113194033A
Data transmission method, proxy server and service client
CN116032507A
Data transmission method and system in software defined wide area network SD-WAN
CN116389018A
Message transmission method, network equipment and system
CN116418629A