Data forwarding method and apparatus, communication device, and storage medium
By introducing Internet Protocol tunneling and segment identifier opcodes between the PPPoE client and server, combined with VRF instances and Layer 3 VPN forwarding tables, the problem of the PPPoE server and client not being on the same Layer 2 network is solved, achieving efficient PPPoE over SRv6 communication.
Patent Information
- Application Number
- CN202311285044.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-28
- Publication Date
- 2025-11-07
- Estimated Expiration
- 2043-09-28
AI Technical Summary
In new metropolitan area networks, the PPPoE server and the PPPoE client are not naturally on the same Layer 2 network, which leads to complex configuration of routing devices such as Spine and Leaf that cross Layer 3 and low communication efficiency.
By introducing an Internet Protocol tunnel between the PPPoE client and server, using segment identifier opcodes (such as End.DX3PPPoE) for message encapsulation and decapsulation, and combining VRF instances and Layer 3 VPN forwarding tables, PPPoE over SRv6 communication is achieved.
It simplifies the network configuration process, avoids Layer 2 broadcast storms, and improves communication efficiency, network establishment efficiency, and data transmission reliability.
Smart Images

Figure CN119728514B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of communication network, and in particular to a data forwarding method and device, a communication device, a storage medium and a computer program product. BACKGROUND
[0002] With the rapid development of communication technology, users' demand for virtual network access is also increasingly strong. In the scenario of establishing VPN by PPPoE dialing, both PPPoE client and PPPoE server are required to be two-layer networked. However, in the new metropolitan area network, the PPPoE server and the PPPoE client are not naturally in a two-layer network, and need to cross the Spine and Leaf routing devices of three layers.
[0003] In the related art, SRV6 technology is used to realize the cross-Leaf and SPINE group large two-layer network, which is relatively complex in configuration, resulting in low communication efficiency. SUMMARY
[0004] Therefore, it is necessary to provide a data forwarding method, device, communication device, computer readable storage medium and computer program product capable of improving communication efficiency in view of 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] 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, the address of the PPPoE server comprising a segment identifier operation code, the segment identifier operation code being used to instruct the PPPoE server to process a packet;
[0007] encapsulating a user data packet based on a PPPoE header and an Internet protocol tunnel header to obtain an encapsulated data packet;
[0008] sending the encapsulated data packet to the PPPoE server through the Internet protocol tunnel, so that the PPPoE server processes based on the encapsulated data packet.
[0009] In one embodiment, the segment identifier operation code is used to instruct the PPPoE server to process the packet, including: the segment identifier operation code is used to instruct the PPPoE server to decapsulate the encapsulated data packet to obtain user data plane information, and process based on the user data plane information and a three-layer VPN forwarding table.
[0010] In one embodiment, the segment identifier operation code is End.DX3PPPoE.
[0011] In one embodiment, the method further comprises:
[0012] determining the local address of the PPPoE client as the source address of the Internet protocol tunnel; and
[0013] determining the address of the PPPoE server carrying the segment identification operation code as the destination address of the Internet protocol tunnel.
[0014] In one embodiment, the method further comprises:
[0015] encapsulating the user data packet based on the PPPoE header to obtain a first data packet, and encapsulating the first data packet based on the Internet protocol tunnel header to obtain the encapsulated data packet.
[0016] In a second aspect, the application provides a data forwarding method, applied to a PPPoE server, and the method comprises:
[0017] receiving an encapsulated data packet sent by a PPPoE client;
[0018] if it is determined that the destination address of the Internet protocol tunnel corresponding to the encapsulated data packet is a local address, then performing decapsulation processing on the encapsulated data packet based on the segment identification operation code in the address to obtain a user data packet and user data plane information;
[0019] processing the user data packet based on the user data plane information.
[0020] In one embodiment, the method further comprises:
[0021] removing the Internet protocol tunnel header and the PPPoE header contained in the encapsulated data packet to obtain the user data packet.
[0022] In one embodiment, the method further comprises:
[0023] determining a VRF instance corresponding to the user data plane information based on a pre-configured correspondence between the user data plane information and the VRF instance;
[0024] The VRF instance queries a 3-layer VPN forwarding table to determine a target VPN channel, and forwards the user data packet to the target VPN channel.
[0025] In a third aspect, the present application provides a data forwarding device applied to a PPPoE client, the device comprising:
[0026] A first determining module is configured to determine a source address of an Internet protocol tunnel based on a 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 comprises a segment identification operation code, and the segment identification operation code is used to instruct the PPPoE server to process a packet.
[0027] A first encapsulating module is configured to encapsulate a user data packet based on a PPPoE header and an Internet protocol tunnel header to obtain an encapsulated data packet.
[0028] A first sending module is configured to send the encapsulated data packet to the PPPoE server through the Internet protocol tunnel, so that the PPPoE server processes the encapsulated data packet.
[0029] In a fourth aspect, the present application provides a data forwarding device applied to a PPPoE server, the device comprising:
[0030] A first receiving module is configured to receive an encapsulated data packet sent by a PPPoE client.
[0031] An unencapsulating module is configured to, if it is determined that a destination address of an Internet protocol tunnel corresponding to the encapsulated data packet is a local address, perform unencapsulating processing on the encapsulated data packet based on a segment identification operation code in the address to obtain a user data packet and user data plane information.
[0032] An accessing module is configured to process the user data packet based on the user data plane information.
[0033] In a fifth aspect, the present application provides a communication device, comprising a transmitter, a processor, and a memory.
[0034] The processor is configured to determine a source address of an Internet protocol tunnel based on a 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 comprises a segment identification operation code, and the segment identification operation code is used to instruct the PPPoE server to process a packet.
[0035] The processor is further configured to encapsulate a user data packet based on a PPPoE header and an Internet protocol tunnel header to obtain an encapsulated data packet.
[0036] The sender is configured to send the encapsulated data packet to the PPPoE server through the Internet protocol tunnel, so that the PPPoE server processes based on the encapsulated data packet.
[0037] In a sixth aspect, the present application provides a computer readable storage medium. The computer readable storage medium has a computer program stored thereon, and the computer program is executed by a processor to implement the following steps:
[0038] determining a source address of the 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, the address of the PPPoE server containing a segment identification operation code, the segment identification operation code being used to instruct the PPPoE server to process a packet; encapsulating a user data packet based on a PPPoE header and an Internet protocol tunnel header to obtain an encapsulated data packet; and sending the encapsulated data packet to the PPPoE server through the Internet protocol tunnel, so that the PPPoE server processes based on the encapsulated data packet.
[0039] In a seventh aspect, the present application provides a computer program product. The computer program product comprises a computer program, and the computer program is executed by a processor to implement the following steps:
[0040] determining a source address of the 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, the address of the PPPoE server containing a segment identification operation code, the segment identification operation code being used to instruct the PPPoE server to process a packet; encapsulating a user data packet based on a PPPoE header and an Internet protocol tunnel header to obtain an encapsulated data packet; and sending the encapsulated data packet to the PPPoE server through the Internet protocol tunnel, so that the PPPoE server processes based on the encapsulated data packet.
[0041] The data forwarding method, device, communication device, storage medium and computer program product, the method comprising: 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, the address of the PPPoE server containing a segment identification operation code, the segment identification operation code being used to instruct the PPPoE server to process a message; 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 processes based on the encapsulated data message. By adopting the method, the configuration process can be simplified, the communication of PPPoE over SRv6 can be realized, and the communication efficiency can be improved. BRIEF DESCRIPTION OF DRAWINGS
[0042] Figure 1 A diagram of an application environment of a data forwarding method in an embodiment;
[0043] Figure 2 A flowchart of a data forwarding method in an embodiment;
[0044] Figure 3 A flowchart of a step of determining a source address and a destination address in an embodiment;
[0045] Figure 4 A flowchart of a step of processing a message in an embodiment;
[0046] Figure 5 A flowchart of a step of forwarding a data message through a VRF instance in an embodiment;
[0047] Figure 6 A structural diagram of a data forwarding method in another embodiment;
[0048] Figure 7 A structural block diagram of a data forwarding device in an embodiment;
[0049] Figure 8 A structural block diagram of a data forwarding device in an embodiment;
[0050] Figure 9 An internal structural diagram of a communication device in an embodiment. DETAILED DESCRIPTION
[0051] In order to make the purposes, technical solutions and advantages of the present application clearer, the present application is further described in detail below with reference to the 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 An application scenario of a data forwarding method provided by an embodiment of the present application is shown in FIG. 1. As shown in FIG. 1, the scenario includes a PPPoE client 100 and a PPPoE server 200. The PPPoE client 100 and the PPPoE server 200 perform data transmission through a network. Figure 1
[0053] The PPPoE client 100 can be a wireless terminal. The wireless terminal can be a device that provides voice and / or other service data connectivity to a user, or a handheld device with wireless connection function, or other processing device connected to a wireless modem. The wireless terminal can communicate with one or more core networks through a radio access network (RAN). The wireless terminal can be a mobile terminal, such as a mobile phone (or called "cellular" phone) and a computer with mobile terminal, for example, a portable, pocket, handheld, built-in or vehicle-mounted mobile device that exchanges language and / or data with the radio access network. The wireless terminal can also be called a system, a subscriber unit, a subscriber station, a mobile station, a mobile, a remote station, a remote terminal, an access terminal, a user terminal, a user agent, a user device or user equipment, without limitation.
[0054] In the prior art, in a scenario of establishing a VPN through PPPoE dialing, it is required to perform large two-layer networking between the PPPoE client and the PPPoE server. Based on this, the related art has many problems, such as complex configuration, difficult cut-off, two-layer broadcast storm hidden danger and the like, in the process of network access through PPPoE.
[0055] Based on the above-mentioned conventional technology, the embodiment of the present application provides a data forwarding method, that is, an implementation method of PPPoE over SRv6. The data forwarding method provided by the embodiment of the present application can define a new segment identifier operation code (which can be recorded as SID opcode). The segment identifier operation code can be END.PPPoE.X. The segment identifier operation code can indicate that the packet of PPPoE over IPv6 / SRV6 is processed by decapsulation, and the packet is forwarded to an interface for VPN processing based on the VRF instance associated with the PPPoE session. Through the above-mentioned packet processing method, the original VPN establishment mode of UP pool / MSE large layer 2 can be extended to support layer 3 VPN establishment, the PPPoE client can establish VPN through the overlay layer 3 network, the network deployment process is simplified, the broadcast storm hidden danger is avoided, and the communication efficiency with the network is improved.
[0056] It should be noted that the beneficial effects or technical problems solved by the embodiment of the present application are not limited to this, but also other implicit or related problems. For details, please refer to the description of the following embodiments.
[0057] The technical solutions of the present application and how the technical solutions of the present application solve the above-mentioned technical problems will be 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 can not be described in detail in some embodiments. The embodiments of the present application will be described below with reference to the drawings.
[0058] In one embodiment, as shown in Figure 2 , a data forwarding method is provided. Taking the PPPoE client in Figure 1 as an example, the method comprises the following steps:
[0059] 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.
[0060] The address of the PPPoE server includes a segment identifier operation code, which is used to instruct the PPPoE server to process the message. The local address can be a communication address of the PPPoE client, which can be a MAC address of the PPPoE client, an IP address of the PPPoE client, or an IP address and port number of the PPPoE client. The IP address can be an IPV4 address or an IPV6 address, and the Internet protocol tunnel can be an Internet protocol-based communication tunnel, such as an IPV4 tunnel or an IPV6 tunnel. The address of the PPPoE server can be determined based on a communication address of the PPPoE server and the segment identifier operation code, which can be a MAC address of the PPPoE server, an IP address of the PPPoE server, or an 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] In step 204, the user data message is encapsulated based on the PPPoE header and the Internet protocol tunnel header to obtain an encapsulated data message.
[0063] The PPPoE header can be a header field representing 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 a field of the ipv4 header, which is used to represent message transmission through the Internet protocol tunnel.
[0064] Specifically, after determining the source address and the destination address of the Internet protocol tunnel, the PPPoE client can encapsulate and process the user data message to be transmitted based on the PPPoE header and the Internet protocol tunnel header to obtain an encapsulated data message. In one example, the PPPoE client can receive a user data message sent by a user device, which can be a data message for accessing a virtual private network, or a data message for communicating with a virtual private network.
[0065] In step 206, the encapsulated data message is sent to the PPPoE server through the Internet protocol tunnel, so that the PPPoE server processes the encapsulated data message.
[0066] Specifically, after obtaining the encapsulated data packet, the PPPoE client can transmit the encapsulated data packet by using the determined source address of the Internet Protocol tunnel and the determined destination address of the Internet Protocol tunnel. The PPPoE client can transmit the encapsulated data packet to the PPPoE server via the Internet Protocol tunnel corresponding to the ipv4 network, and can also transmit the encapsulated data packet to the PPPoE server via the Internet Protocol tunnel corresponding to the ipv6 network. In this way, after receiving the encapsulated data packet, the PPPoE server can perform packet processing in a case where it is determined that the destination address of the encapsulated data packet contains the segment identifier operation code, so as to realize 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 the segment identifier operation code, which is used to instruct the PPPoE server to perform packet processing. The user data packet is encapsulated based on the PPPoE header and the Internet Protocol tunnel header to obtain an encapsulated data packet. The encapsulated data packet is sent to the PPPoE server via the Internet Protocol tunnel, so that the PPPoE server performs processing based on the encapsulated data packet. By using the 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 of the embodiments, the segment identifier operation code is used to instruct the PPPoE server to perform packet processing, including: the segment identifier operation code is used to instruct the PPPoE server to de-encapsulate the encapsulated data packet to obtain user data plane information, and perform processing based on the user data plane information and a 3-layer VPN forwarding table.
[0069] Specifically, in a case where it is determined that the destination address of the encapsulated data packet contains the segment identifier operation code, the PPPoE server can perform de-encapsulation processing on the received encapsulated data packet to remove the Internet Protocol tunnel header and the PPPoE header contained in the encapsulated data packet, and obtain user data plane information contained in the user data packet. Based on this, the PPPoE server can perform packet processing on the user data packet based on the user data plane information and a preset 3-layer VPN forwarding table.
[0070] In this embodiment, by carrying the segment identifier operation code in the destination address of the packet, the PPPoE server receiving the packet can perform de-encapsulation processing on the received packet based on the instruction of the segment identifier operation code, realize the communication of PPPoE over SRv6, and improve the efficiency of network establishment and the reliability of network transmission data.
[0071] In one embodiment, the segment identifier opcode is End.DX3PPPoE.
[0072] Specifically, a concrete example of the segment identifier opcode carried in the destination address of a user data packet can be End.DX3PPPoE (Decapsulation and PPPoE L3VPN table lookup, supporting packet decapsulation). This segment identifier opcode can be broken down into END+D+X3PPPoE, where D indicates support for decapsulation processing, X3PPPoE indicates cross-connection, and the PPPoE server can query the Layer 3 VPN forwarding table based on the PPPoE session information.
[0073] In this embodiment, by carrying the segment identifier opcode in the destination address of the message, the PPPoE server receiving the message can decapsulate the received message based on the instruction of the segment identifier opcode, thereby realizing PPPoE over SRv6 communication, improving the efficiency of network establishment and the reliability of network data transmission.
[0074] In one embodiment, such as Figure 3 As shown, the specific processing steps 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," include:
[0075] Step 302: Determine the local address of the PPPoE client as the source address of the Internet Protocol tunnel.
[0076] The source address of the Internet Protocol tunnel can be the address of the data sender of the Internet Protocol tunnel, and 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, the IP address of the PPPoE client, or the IP address and port number of the PPPoE client.
[0077] Specifically, when a PPPoE client receives a user data packet, it can determine its local address as the source address of the Internet Protocol tunnel, that is, determine the PPPoE client's communication address as the source address of the Internet Protocol tunnel. In other words, the PPPoE client can use its local address as the source address of the Internet Protocol tunnel.
[0078] Step 304: Determine the address of the PPPoE server carrying the segment identifier operation code as the destination address of the Internet Protocol tunnel.
[0079] The address of the PPPoE server can be a communication address of the PPPoE server, which can be a MAC address of the PPPoE server, 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 carrying 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, so that the user data packets can be transmitted through the PPPoE protocol and the Internet protocol tunnel, the configuration process of network access through the PPPoE is simplified, the cutting is simple, and problems such as two-layer broadcast storm are avoided, and the communication quality is improved.
[0082] In one embodiment, the specific processing process of step 204 “encapsulating the user data packet based on the PPPoE header and the Internet protocol tunnel header to obtain an encapsulated data packet” includes:
[0083] The user data packet is encapsulated based on the PPPoE header to obtain a first data packet, and the first data packet is encapsulated based on the Internet protocol tunnel header to obtain an encapsulated data packet.
[0084] Specifically, after receiving the user data packet, the PPPoE client obtains the PPPoE header, and encapsulates the user data packet based on the PPPoE header to obtain a first data packet. The specific encapsulation process can be that the PPPoE client adds the fields of the PPPoE header to the header position of the user data packet, or adds multiple bytes to the header position of the user data packet and writes the corresponding data of the PPPoE header into the multiple bytes added to obtain the first data packet. The PPPoE client can encapsulate the first data packet based on the Internet protocol tunnel header. The specific encapsulation process can be that the PPPoE client adds the fields of the Internet protocol tunnel header to the header position of the first data packet, or adds multiple bytes to the header position of the first data packet and writes the corresponding data of the Internet protocol tunnel header into the multiple bytes added to obtain the encapsulated data packet.
[0085] In an example, the process of encapsulating the received user data packet by the PPPoE client based on the PPPoE header and the Internet Protocol tunnel header can be: after receiving the user data packet, the PPPoE client acquires the Internet Protocol tunnel header, and encapsulates the user data packet by the Internet Protocol tunnel header to obtain a first data packet. The specific encapsulation process can be that the PPPoE client can add the fields of the Internet Protocol tunnel header to the header position of the user data packet, or can also add multiple bytes to the header position of the user data packet, and write the data corresponding to the Internet Protocol tunnel header into the multiple bytes added to the user data packet respectively to obtain the first data packet. The PPPoE client can encapsulate the first data packet based on the PPPoE header. The specific encapsulation process can be that the PPPoE client can add the fields of the PPPoE header to the header position of the first data packet, or can also add multiple bytes to the header position of the first data packet, and write the data corresponding to the PPPoE header into the multiple bytes added to the first data packet respectively to obtain the encapsulated data packet.
[0086] In this embodiment, the user data packet is encapsulated by the PPPoE header and the Internet Protocol tunnel header, which can improve the efficiency of network establishment and the reliability of network transmission data for PPPoE over SRv6 communication.
[0087] In an example, the method further includes:
[0088] Based on the address configuration operation on the PPPoE client, the address of the PPPoE server corresponding to the address configuration operation is acquired.
[0089] The address configuration operation on the PPPoE client can be an operation of configuring an address 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 to perform the address configuration operation. The PPPoE client can acquire the address information carried by the address configuration operation in response to the address configuration operation, and determine the address information as the address of the PPPoE server.
[0091] In this embodiment, the address configuration of the PPPoE server is realized by the address configuration operation on the PPPoE client, which improves the convenience of address configuration.
[0092] In an example, the method further includes:
[0093] receiving a target address sent by the remote network element, and determining the received target address as the address of the PPPoE server.
[0094] The remote network element can be a functional network element connected with the PPPoE client, for example, a configuration network element used for configuring the address of the PPPoE server.
[0095] Specifically, after being connected with the PPPoE client, the remote network element can send a message containing the address of the PPPoE server corresponding to the PPPoE client to the PPPoE client, for example, 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 mode of the PPPoE server and ensure the diversification of the address configuration of the PPPoE server.
[0097] In one embodiment, as shown in Figure 4 A data forwarding method is provided, and in this embodiment, the method is applied to a PPPoE server. The data forwarding method comprises the following steps:
[0098] Step 402: receiving an encapsulated data packet sent by a PPPoE client.
[0099] Specifically, the PPPoE client can send the encapsulated data packet to the PPPoE server through an Internet protocol tunnel, and the PPPoE server can receive the encapsulated data packet 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 packet is a local address, performing decapsulation processing on the encapsulated data packet based on a segment identification operation code in the target address, to obtain a user data packet and user data plane information.
[0101] The segment identification operation code is used to instruct the PPPoE server to process the packet, that is, the segment identification operation code is used to instruct the PPPoE server to decapsulate the encapsulated data packet to obtain the user data plane information, and to process based on the user data plane information and a 3-layer VPN forwarding table.
[0102] Specifically, in a case where the PPPoE server determines that the destination address of the Internet Protocol tunnel corresponding to the encapsulated data packet is a local address, that is, in a case where the PPPoE server determines that the destination address corresponding to the encapsulated data packet is consistent with the local address of the PPPoE server, the PPPoE server can perform decapsulation processing on the received encapsulated data packet based on the segment identifier operation code contained in the destination address, remove the Internet Protocol tunnel header and the PPPoE header contained in the encapsulated data packet, and obtain a user data packet and user data plane information. Based on this, the PPPoE server can perform packet processing on the user data packet based on the user data plane information and a preset 3-layer VPN forwarding table.
[0103] In the embodiment, by carrying the segment identifier operation code in the destination address, the PPPoE server receiving the packet can perform decapsulation processing on the received packet based on the indication of the segment identifier operation code, implement PPPoE over SRv6 communication, and improve the efficiency of network establishment and the reliability of network transmission data.
[0104] In step 406, the user data packet is processed based on the user data plane information.
[0105] Specifically, after the PPPoE server performs decapsulation processing on the encapsulated data packet, the user data plane information and the user data packet can be obtained, and the PPPoE server can perform forwarding processing on the user data packet based on the user data plane information and the 3-layer VPN forwarding table to access the virtual private network.
[0106] In the embodiment, the configuration process can be simplified, the PPPoE over SRv6 communication can be implemented, and the communication efficiency can be improved.
[0107] In one embodiment, the specific processing process of step 404 "performing decapsulation processing on the encapsulated data packet to obtain a user data packet" includes:
[0108] The Internet Protocol tunnel header and the PPPoE header contained in the encapsulated data packet are removed to obtain a user data packet.
[0109] The PPPoE header can be a header field representing data transmission through the PPPoE protocol, which can be added to the header position of the data packet. The Internet Protocol tunnel header can be a field of an ipv6 header or a field of an IPV4 header, which is used to represent packet transmission through an Internet Protocol tunnel.
[0110] Specifically, the process that the PPPoE server performs the decapsulation processing on the encapsulated data packet can be that the PPPoE server removes the Internet protocol tunnel header and the PPPoE header contained in the encapsulated data packet, and removes the encapsulated data packet of the Internet protocol tunnel header and the PPPoE header, that is, obtains the user data packet and the user data plane information.
[0111] In the embodiment, the encapsulated data packet can be decapsulated by the indication of the segment identifier operation code, the communication of the PPPoE over SRv6 is implemented, and the communication quality and the efficiency of network establishment are improved.
[0112] In one embodiment, as shown in FIG. 5, the specific processing process of the step of "processing the user data packet based on the user data plane information" includes: Figure 5
[0113] In step 502, the VRF instance corresponding to the user data plane information is determined based on the pre-configured correspondence between the user data plane information and the VRF instance.
[0114] The user data plane information can include one or more of Session ID (task identification information), MAC address, IP address, and vlan information, and the pre-configured correspondence between the user data plane and the VRF instance can be data pre-stored in the storage space corresponding to the PPPoE server. The correspondence can 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, query the user data plane information corresponding to the user data packet, and query the corresponding VRF instance. That is, the PPPoE server can query whether the user data plane information corresponding to the user data packet exists in the pre-configured correspondence between the user data plane information and the VRF instance. 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, in the negotiation phase of PPPoE, the SGW (Serving GateWay) authenticates the username and password of the PPPoE client, and after the authentication is passed, allocates an IP address to the PPPoE client, and queries the VRF instance associated with the user corresponding to the PPPoE client. If the associated VRF instance is queried, the SGW can establish a mapping table of the user data plane information and the VRF instance. The user data plane information can be selected as one or more of SessionID, MAC address, IP address, and vlan information.
[0117] In step 504, the 3-layer VPN forwarding table is queried through the VRF instance to determine the target VPN channel, and the user data packet is forwarded to the target VPN channel.
[0118] The 3-layer VPN forwarding table can be a data table pre-stored in the storage space of the PPPoE server.
[0119] Specifically, the PPPoE server can query the VPN channel corresponding to the VRF instance in the 3-layer 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 perform forwarding processing on the user data packet through the target VPN channel, that is, the PPPoE server can forward the user data packet to the target VPN channel to realize the communication between the client corresponding to the user data packet and the virtual private network, that is, to realize the access of the client corresponding to the user data packet 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 ensured.
[0121] In one embodiment, the segment identification operation code is End.DX3PPPoE.
[0122] Specifically, one specific embodiment of the segment identification operation code carried in the destination address of the user data packet can be End.DX3PPPoE (Decapsulation and PPPoE L3VPN table lookup, supporting decapsulation packet). The segment identification operation code can be divided into END+D+X3PPPOE, D represents supporting decapsulation processing, and X3PPPOE represents cross connection. The PPPoE server can query the 3-layer VPN forwarding table based on the PPPoE session information.
[0123] In this embodiment, by carrying the segment identifier operation code in the destination address of the packet, the PPPoE server receiving the packet can perform decapsulation processing on the received packet based on the indication of the segment identifier operation code, implement the communication of PPPoE over SRv6, and improve the efficiency of network establishment and the reliability of network transmission data.
[0124] In one embodiment, Figure 6 An interactive flowchart of a data forwarding method is provided. As shown in Figure 6 The method includes the following steps:
[0125] The data forwarding method provided in the embodiments of the present application can be an implementation method of PPPoE over SRv6. In this embodiment, a new SID opcode, END.PPPoE.X, is added. The SID opcode can decapsulate the PPPoE over IPV6 / SRV6 packet and forward it to the corresponding interface based on the VRF associated with the PPPoE session for VPN processing, so as to support three-layer VPN establishment.
[0126] The PPPoE client communicates with the PPPoE server through PPPoE over IPV6, completes PPPoE dialing and authentication, and obtains a service address. The PPPoE client can encapsulate the ipv4 / ipv6 form of user data packet payload with a PPPoE header and an Internet protocol tunnel header (IPv6 header) to obtain an encapsulated data packet, wherein the destination address DA is END.PPPoE.X SID of the PPPoE server, and the source address SA is IPv6 of the PPPoE client.
[0127] The PPPoE client can send the encapsulated data packet to the PPPoE server through the network, perform decapsulation processing on the encapsulated data packet, obtain the ipv4 / ipv6 form of user data packet payload, and based on the user data plane information, find a VRF instance, enter a VPN channel, and implement communication with a 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 finding user domain name and VRF, RD and RT, and other information through sessionID, IP address and other information carried by the PPPoE session, stripping the IPV6 header and the PPPoE header, finding a VRF instance, entering a preconfigured VPN channel, and implementing VPN service.
[0129] The data forwarding method provided by the embodiment provides a destination address containing a SID opcode, the SID opcode can be END.PPPoE.X, the SID opcode can decapsulate a message of PPPoE over IPV6 / SRV6, and based on VRF, RD and RT values associated with the PPPoE session, the message is forwarded to a corresponding interface for VPN processing, so that a PPPoE client can form a VPN through an Overlay three-layer network.
[0130] It should be understood that, although each step in the flowchart involved in each embodiment as described above is shown in sequence according to the arrow, these steps are not necessarily executed in sequence according to the arrow. Unless otherwise specified herein, the execution of these steps is not strictly limited in sequence, and these steps can be executed in other sequences. Moreover, at least part of the steps in the flowchart involved in each embodiment as described above can include multiple steps or multiple stages, which are not necessarily executed at the same time, but can be executed at different times, and the execution sequence of these steps or stages is not necessarily sequential, but can be executed alternately or alternately with at least part of other steps or 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 above-mentioned data forwarding method. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme described in the above method, so the specific limitations in one or more data forwarding device embodiments provided below can refer to the limitations of the data forwarding method described above, which will not be repeated here.
[0132] In one embodiment, as shown in Figure 7 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] The first determination module 702 is configured to determine a source address of an Internet protocol tunnel based on a local address, and determine a destination address of the Internet protocol tunnel based on an address of a PPPoE server, the address of the PPPoE server containing a segment identification opcode, the segment identification opcode being used to instruct the PPPoE server to process a message;
[0134] The first encapsulation module 704 is configured to encapsulate a user data message based on a PPPoE header and an Internet protocol tunnel header, to obtain an encapsulated data message;
[0135] The first sending module 706 is configured to send the encapsulated data packet to the PPPoE server through an Internet Protocol tunnel, so that the PPPoE server processes based on the encapsulated data packet.
[0136] In one of the embodiments, the first determining module is specifically configured to:
[0137] determine a local address of the PPPoE client as a source address of the Internet Protocol tunnel;
[0138] determine an address of the PPPoE server carrying a segment identification operation code as a destination address of the Internet Protocol tunnel.
[0139] In one of the embodiments, the first encapsulating module is specifically configured to:
[0140] encapsulate the user data packet based on a PPPoE header to obtain a first data packet, and encapsulate the first data packet through an Internet Protocol tunnel header to obtain the encapsulated data packet.
[0141] In one of the embodiments, as shown in Figure 8 a data forwarding apparatus 800 applied to a PPPoE server is provided, which comprises a first receiving module 802, an unencapsulating module 804 and an accessing module 806, wherein:
[0142] The first receiving module 802 is configured to receive an encapsulated data packet sent by a PPPoE client.
[0143] The unencapsulating module 804 is configured to, if it is determined that a destination address of an Internet Protocol tunnel corresponding to the encapsulated data packet is a local address, perform unencapsulating processing on the encapsulated data packet based on a segment identification operation code in the address to obtain a user data packet and user data plane information.
[0144] The accessing module 806 is configured to process the user data packet based on the user data plane information.
[0145] In one of the embodiments, the unencapsulating module is specifically configured to:
[0146] perform removing processing on an Internet Protocol tunnel header and a PPPoE header contained in the encapsulated data packet to obtain a user data packet.
[0147] In one of the embodiments, the accessing module is specifically configured to:
[0148] determine a VRF instance corresponding to the user data plane information based on a pre-configured corresponding relationship between the user data plane information and the VRF instance.
[0149] The VRF instance queries a 3-layer VPN forwarding table, determines a target VPN channel, and forwards the user data packet to the target VPN channel.
[0150] The modules in the data forwarding device can be implemented by software, hardware, or a combination thereof, in whole or in part. The modules can be embedded in or independent of a processor in a communication device in hardware form, or stored in a memory in a communication device in software form, so as to be invoked and executed by a processor to perform operations corresponding to the modules.
[0151] In one embodiment, a communication device is provided, referring to Figure 9 . Figure 9 is a structural schematic diagram of a terminal device provided by an embodiment of the present application. Figure 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 by a bus system 905. It can be understood that the bus system 905 is used to realize the connection and communication between the components. The bus system 905 includes, in addition to a data bus, a power supply bus, a control bus, and a status signal bus. However, for the sake of clarity, all the buses are marked as the bus system 905 in Figure 9 . In addition, the embodiment of the present application further includes a transceiver 906, which can be multiple elements, i.e., includes a transmitter and a receiver, and provides a unit for communicating with various other devices on a transmission medium.
[0152] The user interface 903 can include a display, a keyboard, or a pointing device (e.g., a mouse, a trackball, a touchpad, or a touchscreen, etc.).
[0153] It is to be understood that the memory 902 in embodiments of the present application can be volatile or nonvolatile memory, or can include both volatile and nonvolatile memory. In this regard, the nonvolatile memory can be read only memory (ROM), programmable ROM (PROM), erasable programmable ROM (EPROM), electrically EPROM (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as external cache. By way of example, and not limitation, many forms of RAM are available, for example, static RAM (SRAM), dynamic RAM (DRAM), synchronous dynamic RAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and direct Rambus RAM (DRRAM). The memory 902 of the system and method embodiments described herein are intended to include, without being limited to, these and any other suitable types of memory.
[0154] In some embodiments, the memory 902 stores data, elements, or data structures or a subset thereof, or a superset thereof, including an operating system 9021 and applications 9022.
[0155] The operating system 9021 includes various system programs, such as a framework layer, a core library layer, a driver layer, and the like, for implementing various basic services and processing hardware-based tasks. The applications 9022 include various application programs, such as a media player (MediaPlayer), a browser (Browser), and the like, for implementing various application services. The programs implementing the methods of the embodiments of the present application can be included in the applications 9022.
[0156] In the embodiment of the present application, the processor is configured to determine a source address of an Internet protocol tunnel based on a local address, and determine a destination address of the Internet protocol tunnel based on an address of a PPPoE server, the address of the PPPoE server comprising a segment identification operation code, the segment identification operation code being used to instruct the PPPoE server to process a packet; the processor is further configured to encapsulate a user data packet based on a PPPoE header and an Internet protocol tunnel header to obtain an encapsulated data packet; and the transmitter is configured to send the encapsulated data packet to the PPPoE server through the Internet protocol tunnel, so that the PPPoE server processes the encapsulated data packet.
[0157] The processor 901 can be an integrated circuit chip having a signal processing capability. In implementation process, the steps of the above method can be completed by an integrated logic circuit or a software form of instruction in the processor 901. The processor 901 can 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 gate or transistor logic devices, discrete hardware components. The methods disclosed in the embodiments of the present application can be implemented or executed by the processor 901. The general-purpose processor can be a microprocessor, or the processor can also be any conventional processor. The steps of the methods disclosed in conjunction with the embodiments of the present application can be directly embodied as a hardware code executed by the processor, or a combination of hardware and software modules in the processor. The software module can be located in a storage medium such as a random access memory (RAM), a flash memory, a read-only memory (ROM), a programmable read-only memory (PROM), an electrically programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a register, or a removable disk. The storage medium is located in the memory 902, and the processor 901 reads information in the memory 902 and combines the hardware to complete the steps of the above method.
[0158] It can be understood that the embodiments described in the embodiments of the present application can be implemented by hardware, software, firmware, middleware, microcode or combination thereof. For hardware implementation, the processing unit can be implemented in one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), general purpose processors, controllers, micro-controllers, microprocessors, other electronic units for performing the functions described in the present application, or combination thereof.
[0159] For software implementation, the technologies described in the embodiments of the present application can be implemented by modules (such as processes, functions, etc.) for performing the functions described in the embodiments of the present application. The software code can be stored in the 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 embodiment, 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 based on the Internet protocol tunnel header to obtain an encapsulated data packet.
[0162] In the embodiments of the present application, the program or instruction stored in the memory 902 is called, specifically, the program or instruction stored in the application program 9022, wherein the receiver is configured to receive the encapsulated data packet sent by the PPPoE client; and the processor 901 is further configured to, if it is determined that the destination address of the Internet protocol tunnel corresponding to the encapsulated data packet is a local address, perform decapsulation processing on the encapsulated data packet based on the segment identification operation code in the address to obtain a user data packet and user data plane information; and process the user data packet based on the user data plane information.
[0163] In one embodiment, the processor 901 is further configured to remove the Internet protocol tunnel header and the PPPoE header contained in the encapsulated data packet to obtain a user data packet.
[0164] In one of the embodiments, the processor 901 is further configured to determine a VRF instance corresponding to the user data plane information based on a preconfigured correspondence between the user data plane information and the VRF instance, query a 3-layer VPN forwarding table through the VRF instance to determine a target VPN channel, and forward the user data packet to the target VPN channel through the transmitter.
[0165] In one embodiment, a computer readable storage medium is provided, and the computer readable storage medium stores a computer program. The computer program is executed by a processor to implement the following steps:
[0166] Determine a source address of an Internet protocol tunnel based on a local address, and determine a destination address of the Internet protocol tunnel based on an address of a 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 process a packet.
[0167] Encapsulate the user data packet based on a PPPoE header and an Internet protocol tunnel header to obtain an encapsulated data packet.
[0168] Send the encapsulated data packet to the PPPoE server through the Internet protocol tunnel, so that the PPPoE server processes based on the encapsulated data packet.
[0169] In one embodiment, the computer program is executed by the processor to further implement the following steps:
[0170] Determine the local address of the PPPoE client as the source address of the Internet protocol tunnel.
[0171] Determine the address of the PPPoE server carrying the segment identification operation code as the destination address of the Internet protocol tunnel.
[0172] In one embodiment, the computer program is executed by the processor to further implement the following steps:
[0173] Encapsulate the user data packet based on a 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.
[0174] In one embodiment, a computer readable storage medium is provided, and the computer readable storage medium stores a computer program. The computer program is executed by a processor to implement the following steps:
[0175] Receive the encapsulated data packet sent by the PPPoE client.
[0176] If it is determined that the destination address of the Internet protocol tunnel corresponding to the encapsulated data packet is a local address, the encapsulated data packet is de-encapsulated based on a segment identification operation code in the address to obtain a user data packet and user data plane information;
[0177] The user data packet is processed based on the user data plane information.
[0178] In one embodiment, the computer program, when executed by the processor, further implements the following steps:
[0179] The Internet protocol tunnel header and the PPPoE header contained in the encapsulated data packet are removed to obtain a user data packet.
[0180] In one embodiment, the computer program, when executed by the processor, further implements the following steps:
[0181] Based on a pre-configured correspondence between the user data plane information and a VRF instance, a VRF instance corresponding to the user data plane information is determined;
[0182] A 3-layer VPN forwarding table is queried through the VRF instance to determine a target VPN channel, and the user data packet is forwarded to the target VPN channel.
[0183] The present application embodiment further provides a computer program product containing instructions, when it is run on a computer, so that the computer executes the following steps:
[0184] Based on a local address, a source address of an Internet protocol tunnel is determined, and a destination address of the Internet protocol tunnel is determined based on an address of a PPPoE server, the address of the PPPoE server containing a segment identification operation code, the segment identification operation code being used to instruct the PPPoE server to process a packet;
[0185] Based on a PPPoE header and an Internet protocol tunnel header, a user data packet is encapsulated to obtain an encapsulated data packet;
[0186] The encapsulated data packet is sent to the PPPoE server through the Internet protocol tunnel, so that the PPPoE server processes based on the encapsulated data packet.
[0187] The present application embodiment further provides a computer program product containing instructions, when it is run on a computer, so that the computer executes the following steps:
[0188] An encapsulated data packet sent by a PPPoE client is received;
[0189] If it is determined that the destination address of the Internet Protocol tunnel corresponding to the encapsulated data packet is a local address, the encapsulated data packet is de-encapsulated based on a segment identifier operation code in the address to obtain a user data packet and user data plane information;
[0190] The user data packet is processed based on the user data plane information.
[0191] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer readable storage medium. When the computer program is executed, the processes of the above-mentioned embodiments can be included. Any reference to memory, storage, database or other medium used in each embodiment provided by the present 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. Volatile memory can include random access memory (RAM) or external cache memory. As an illustration but not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM).
[0192] Each technical feature of the above embodiments can be combined arbitrarily. In order to make the description simple, all possible combinations of each technical feature in the above embodiments are not described, however, as long as the combination of technical features does not exist, it should be considered as the scope of the present application.
[0193] The above embodiments only express several implementation manners of the present application, and the description is more specific and detailed, but it should not be understood as a limitation on the scope of the patent. It should be pointed out that for ordinary skilled in the art, without departing from the concept of the present application, some modifications and improvements can be made, which are all within the scope of the present application. Therefore, the scope of the patent of the present application should be subject to the appended claims.
Claims
1. A data forwarding method, characterized by, The method is applied to a PPPoE client and comprises the following steps: 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 comprises a segment identification operation code, and the segment identification operation code is used to instruct the PPPoE server to process a message; encapsulating a user data message based on a PPPoE header and an Internet protocol tunnel header 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 the encapsulated data message.
2. The method of claim 1, wherein, The segment identification operation code is used to instruct the PPPoE server to process a message, which comprises that the segment identification operation code is used to instruct the PPPoE server to de-encapsulate the encapsulated data message to obtain user data plane information and process the user data plane information based on a 3-layer VPN forwarding table.
3. The method of claim 1, wherein, The segment identification operation code is End.DX3PPPoE.
4. The method of claim 1, wherein, The segment identification operation code is used to instruct the PPPoE server to process a message, which comprises that the segment identification operation code is used to instruct the PPPoE server to de-encapsulate the encapsulated data message to obtain user data plane information and process the user data plane information based on a 3-layer VPN forwarding table. The segment identification operation code is End.DX3PPPoE. The segment identification operation code is used to instruct the PPPoE server to process a message, which comprises that the segment identification operation code is used to instruct the PPPoE server to de-encapsulate the encapsulated data message to obtain user data plane information and process the user data plane information based on a 3-layer VPN forwarding table.
5. The method of claim 1, wherein, The segment identification operation code is End.DX3PPPoE. The segment identification operation code is used to instruct the PPPoE server to process a message, which comprises that the segment identification operation code is used to instruct the PPPoE server to de-encapsulate the encapsulated data message to obtain user data plane information and process the user data plane information based on a 3-layer VPN forwarding table.
6. A data forwarding method characterized by, The segment identification operation code is End.DX3PPPoE. The segment identification operation code is used to instruct the PPPoE server to process a message, which comprises that the segment identification operation code is used to instruct the PPPoE server to de-encapsulate the encapsulated data message to obtain user data plane information and process the user data plane information based on a 3-layer VPN forwarding table. The segment identification operation code is End.DX3PPPoE. The segment identification operation code is used to instruct the PPPoE server to process a message, which comprises that the segment identification operation code is used to instruct the PPPoE server to de-encapsulate the encapsulated data message to obtain user data plane information and process the user data plane information based on a 3-layer VPN forwarding table.
7. The method of claim 6, wherein, The segment identification operation code is End.DX3PPPoE. The segment identification operation code is used to instruct the PPPoE server to process a message, which comprises that the segment identification operation code is used to instruct the PPPoE server to de-encapsulate the encapsulated data message to obtain user data plane information and process the user data plane information based on a 3-layer VPN forwarding table.
8. The method of claim 6, wherein, The segment identification operation code is End.DX3PPPoE. The segment identification operation code is used to instruct the PPPoE server to process a message, which comprises that the segment identification operation code is used to instruct the PPPoE server to de-encapsulate the encapsulated data message to obtain user data plane information and process the user data plane information based on a 3-layer VPN forwarding table. The segment identification operation code is End.DX3PPPoE. The segment identification operation code is used to instruct the PPPoE server to process a message, which comprises that the segment identification operation code is used to instruct the PPPoE server to de-encapsulate the encapsulated data message to obtain user data plane information and process the user data plane information based on a 3-layer VPN forwarding table. The segment identification operation code is End.DX3PPPoE. The segment identification operation code is used to instruct the PPPoE server to process a message, which comprises that the segment identification operation code is used to instruct the PPPoE server to de-encapsulate the encapsulated data message to obtain user data plane information and process the user data plane information based on a 3-layer VPN forwarding table. The segment identification operation code is End.DX3PPPoE. The segment identification operation code is used to instruct the PPPoE server to process a message, which comprises that the segment identification operation code is used to instruct the PPPoE server to de-encapsulate the encapsulated data message to obtain user data plane information and process the user data plane information based on a 3-layer VPN forwarding table. The segment identification operation code is End.DX3PPPoE. The segment identification operation code is used to instruct the PPPoE server to process a message, which comprises that the segment identification operation code is used to instruct the PPPoE server to de-encapsulate the encapsulated data message to obtain user data plane information and process the user data plane information based on a 3-layer VPN forwarding table. The segment identification operation code is End.DX3PPPoE. The segment identification operation code is used to instruct the PPPoE server to process a message, which comprises that the segment identification operation code is used to instruct the PPPoE server to de-encapsulate the encapsulated data message to obtain user data plane information and process the user data plane information based on a 3-layer VPN forwarding table. The segment identification operation code is End.DX3PPPoE. The segment identification operation code is used to instruct the PPPoE server to process a message, which comprises that the segment identification operation code is used to instruct the PPPoE server to de-encapsulate the encapsulated data message to obtain user data plane information and process the user data plane information based on a 3-layer VPN forwarding table. The segment identification operation code is End.DX3PPPoE. The segment identification operation code is used to instruct the PPPoE server to process a message, which comprises that the segment identification operation code is used to instruct the PPPoE server to de-encapsulate the encapsulated data message to obtain user data plane information and process the user data plane information based on a 3-layer VPN forwarding table. The segment identification operation code is End.DX3PPPoE. The segment identification operation code is used to instruct the PPPoE server to process a message, which comprises that the segment identification operation code is used to instruct the PPPoE server to de-encapsulate the encapsulated data message to obtain user data plane information and process the user data plane information based on a 3-layer VPN forwarding table. The segment identification operation code is End.DX3PPPoE. The segment identification operation code is used to instruct the PPPoE server to process a message, which comprises that the segment identification operation code is used to instruct the PPPoE server to de-encapsulate the encapsulated data message to obtain user data plane information and process the user data plane information based on a 3-layer VPN forwarding table. The segment identification operation code is End.DX3PPPoE. The segment identification operation code is used to instruct the PPPoE server to process a message, which comprises that the segment identification operation code is used to instruct the PPPoE server to de-encapsulate the encapsulated data message to obtain user data plane information and process the user data plane information based on a 3-layer VPN forwarding table. The segment identification operation code is End.DX3PPPoE. The segment identification operation code is used to instruct the PPPoE server to process a message, which comprises that the segment identification operation code is used to instruct the PPPoE server to de-encapsulate the encapsulated data message to obtain user data plane information and process the user data plane information based on a 3-layer VPN forwarding table. The segment identification operation code is End.DX3PPPoE. The segment identification operation code is used to instruct the PPPoE server to process a message, which comprises that the segment identification operation code is used to instruct the PPPoE server to de-encapsulate the encapsulated data message to obtain user data plane information and process the user data plane information based on a 3-layer VPN forwarding table. The segment identification operation code is End.DX3PPPoE. The segment identification operation code is used to instruct the PPPoE server to process a message, which comprises that the segment identification operation code is used to instruct the PPPoE server to de-encapsulate the encapsulated data message to obtain user data plane information and process the user data plane information based on a 3-layer VPN forwarding table. The segment identification operation code is End.DX3PPPoE. The segment identification operation code is used to instruct the PPPoE server to process a message, which comprises that the segment identification operation code is used to instruct the PPPoE server to de-encapsulate the encapsulated data message to obtain user data plane information and process the user data plane information based on a 3-layer VPN forwarding table. The segment identification operation code is End.DX3PPPoE. The segment identification operation code is used to instruct the PPPoE server to process a message, which comprises that the segment identification operation code is used to instruct the PPPoE server to de-encapsulate the encapsulated data message to obtain user data The VRF instance queries a 3-layer VPN forwarding table to determine a target VPN channel, and forwards the user data packet to the target VPN channel.
9. A data forwarding apparatus, characterized by comprising: The device is applied to a PPPoE client and comprises: The first determining module is configured to determine a source address of an Internet protocol tunnel based on a 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 comprises a segment identification operation code, and the segment identification operation code is used to instruct the PPPoE server to process a packet. The first encapsulating module is configured to encapsulate a user data packet based on a PPPoE header and an Internet protocol tunnel header to obtain an encapsulated data packet. The first sending module is configured to send the encapsulated data packet to the PPPoE server through the Internet protocol tunnel, so that the PPPoE server processes based on the encapsulated data packet.
10. A data forwarding apparatus characterized by comprising: The device is applied to a PPPoE server and comprises: The first receiving module is configured to receive an encapsulated data packet sent by a PPPoE client, wherein the encapsulated data packet is obtained by encapsulating a user data packet based on a PPPoE header and an Internet protocol tunnel header by the PPPoE client. The decapsulating module is configured to, if it is determined that a destination address of an Internet protocol tunnel corresponding to the encapsulated data packet is a local address, perform decapsulation processing on the encapsulated data packet based on a segment identification operation code in the address to obtain a user data packet and user data plane information, wherein the segment identification operation code is used to instruct the PPPoE server to process a packet. The access module is configured to process the user data packet based on user data plane information.
11. A communication device, characterized by The device comprises: a transmitter and a processor. The processor is configured to determine a source address of an Internet protocol tunnel based on a 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 comprises a segment identification operation code, and the segment identification operation code is used to instruct the PPPoE server to process a packet. The processor is further configured to encapsulate a user data packet based on a PPPoE header and an Internet protocol tunnel header to obtain an encapsulated data packet. The transmitter is configured to send the encapsulated data packet to the PPPoE server through the Internet protocol tunnel, so that the PPPoE server processes based on the encapsulated data packet.
12. A computer readable storage medium having stored thereon a computer program, characterized in that, The computer program is executed by the processor to implement the steps of the method in any one of claims 1 to 8.
13. A computer program product comprising a computer program, characterized in that, The computer program is executed by the processor to implement the steps of the method in any one of claims 1 to 8.
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