Message transmission method, device and system
By setting up a tunnel between forwarding devices on the user side link, load sharing and traffic management of user terminal messages is realized, the problem of excessive load on the user side link is solved, and link utilization and transmission quality are improved.
Patent Information
- Application Number
- CN202010109060.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-02-21
- Publication Date
- 2025-02-07
- Estimated Expiration
- 2040-02-21
AI Technical Summary
In the load sharing scenario of user-side links, the traffic difference between user terminals is large, resulting in excessive load on some user-side links, affecting transmission quality.
By setting up a tunnel between the first forwarding device and the second forwarding device, the packets of the user terminal are forwarded to the two devices through load sharing. The first forwarding device forwards the keep-alive request message to the second forwarding device through the tunnel , ensure that the packet is not lost, and perform traffic statistics and QoS processing on the second forwarding device.
In the user-side link transmission of load-sharing, the utilization rate of user links is improved, the load on user-side links is reduced, and the transmission quality is ensured.
Smart Images

Figure CN113300981B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of network technology, and in particular to a message transmission method, device and system. Background Art
[0002] With the development of network technology, in the user broadband access scenario, in order to meet the needs of increasing the types of Internet services, the user access bandwidth and the number of user sessions supported by the broadband network gateway (BNG) device have increased. BNG devices are applied to the system architecture based on software defined network (SDN) and network function virtualization (NFV), and the BNG devices are decoupled into control plane (CP) devices and user plane (UP) devices.
[0003] Among them, the CP device can manage multiple UP devices, and then the CP device can manage multiple user terminals that access the network through the UP devices, realizing flexible scheduling of user terminals between UP devices. In this way, in order to realize load sharing of the user side link, Figure 1As shown, two UP devices managed by the same CP device can be connected to the same switch (SW) or optical line termination (OLT) through two user-side links. When the user terminal requests to access the network through the SW / OLT, the CP device can determine whether the MAC address of the current user terminal is an odd MAC address or an even MAC address based on the hash operation result of the media access control (MAC) address of the user terminal, and access different UP devices according to the odd and even MAC addresses of the user terminal. For example, user terminal 1 with an odd MAC address accesses the network via UP1, and user terminal 2 with an even MAC address accesses the network via UP2. Alternatively, the CP device determines the number of sessions on the load on the UP device and connects the user terminal to the UP device with a smaller number of sessions. For example, user terminal 1 accesses the network from UP1, and user terminal 2 accesses the network from UP2. In this way, load sharing of the user-side link between the user terminal and the UP device is achieved. In the above two load sharing methods, the traffic of user terminal 1 will only be forwarded via user side link 1 between UP1, and the traffic of user terminal 2 will only be forwarded via user side link 2 between UP2. However, in reality, the traffic of different user terminals varies greatly. When a large flow of user terminal uplink traffic corresponding to a user side link appears, the load of the user side link will be very high, affecting the transmission quality. Summary of the invention
[0004] The message transmission method provided in the present application can improve the utilization rate of the user link while achieving load sharing of the message transmission on the user side link.
[0005] In order to achieve the above purpose, this application adopts the following technical solutions:
[0006] In the first aspect, the present application provides a message transmission method, which is applied to a network architecture consisting of a user terminal, a first forwarding device and a second forwarding device. A tunnel is set between the first forwarding device and the second forwarding device; the message of the user terminal is forwarded to the first forwarding device and the second forwarding device by load sharing. The method may include: the first forwarding device receives a message forwarded by the user terminal by load sharing, and the message includes a keep-alive request message; the first forwarding device is a backup forwarding device corresponding to the user terminal. The first forwarding device forwards the keep-alive request message to the second forwarding device through the tunnel; the second forwarding device is the main forwarding device corresponding to the user terminal.
[0007] Among them, the message of the user terminal will be transmitted to the first forwarding device and the second forwarding device through the SW / OLT. The load sharing method may, for example, include bundling the two user-side links (physical links) connecting the SW / OLT and the first forwarding device and the second forwarding device into a logical link through the link aggregation group (LAG) technology.
[0008] In this way, when the user terminal's message is transmitted to the SW / OLT, a load balancing operation will be performed, so that the message is transmitted to two forwarding devices through two user-side links, thereby realizing load sharing of the user-side link.
[0009] Furthermore, for certain services (such as broadband services) where the user route corresponding to the user terminal can only be configured on one forwarding device, the embodiment of the present application configures a tunnel between two forwarding devices, and after the backup forwarding device (a forwarding device not configured with user routes) receives the message, the message can be forwarded to the main forwarding device (a forwarding device configured with user routes) through the tunnel. This prevents the situation where the message is lost when it is forwarded to the forwarding device not configured with user routes.
[0010] In this way, it can be ensured that when the messages of the user terminal are transmitted in a load sharing manner, the utilization rate of the user side link is improved and the load of the user side link is reduced.
[0011] In a possible implementation, the message also includes a data message, and the method further includes: if the second forwarding device is also used to perform traffic statistics and quality of service QoS processing on the data message, the first forwarding device forwards the data message to the second forwarding device through the tunnel.
[0012] Exemplarily, the messages of the user terminal may include signaling messages, such as keep-alive messages that confirm the "survival status" of the other end; they may also include data messages, such as traffic data uploaded or downloaded by the user terminal. Traffic statistics of data messages refer to statistics on traffic flow and obtaining real-time traffic data. Quality of service (QoS) processing can provide different service qualities according to the different needs of various user terminals. For example, an ordinary home broadband user terminal requires an Internet speed of 300.0Mbps to meet user needs. In this case, the data message corresponding to the user terminal can be speed-limited to limit its allocated bandwidth and allocate more bandwidth to devices with higher bandwidth requirements.
[0013] Therefore, traffic statistics and QoS processing of data packets require complete data packets transmitted by user terminals. After the backup forwarding device receives the data packet from the user terminal, it needs to forward the data packet to the main forwarding device through the tunnel, and the main forwarding device will perform traffic statistics and QoS processing before forwarding.
[0014] In a possible implementation, the message also includes a data message, and the method further includes: if the second forwarding device is not used to perform traffic statistics and service quality QoS processing on the data message, the first forwarding device forwards the data message directly to the destination device of the data message.
[0015] Exemplarily, the device for performing traffic statistics and QoS processing on data packets can be other devices. For example, if traffic statistics and QoS processing are performed on data packets at the SW / OLT, after the data packets of the user terminal are forwarded to the first forwarding device and the second forwarding device through load sharing at the SW / OLT, the first forwarding device does not need to forward the data packets to the second forwarding device, and the first forwarding device and the second forwarding device can directly forward the received data packets to the network.
[0016] In a possible implementation, the network architecture further includes a control device, and before the first forwarding device receives a message forwarded by the user terminal in a load sharing manner, the method further includes: the first forwarding device receives a dialing request broadcast by the user terminal. The first forwarding device sends the dialing request to the control device, and receives the user table entry information sent by the control device; wherein the user table entry information is used to indicate that the first forwarding device is a backup forwarding device corresponding to the user terminal.
[0017] Exemplarily, the control device may be the control plane (BNG-CP) of the BNG. The first forwarding device and the second forwarding device are the user plane (BNG-UP) of the BNG. After the first forwarding device receives the dial-up request sent by the user terminal, it forwards the dial-up request to the control device, completes the identity authentication of the user terminal through the control device, and obtains the user table information determined by the control device, and then determines itself as the backup forwarding device corresponding to the user terminal according to the user table information. In this way, after the identity of the user terminal is verified and the identity of the primary and backup forwarding devices is determined, the corresponding action can be performed on the message transmitted by the user terminal to complete the user going online.
[0018] In a possible implementation manner, the user entry information is determined by the control device according to the media access control MAC address of the user terminal or the number of sessions between the first forwarding device and the second forwarding device.
[0019] For example, the control device determines whether the user terminal has an odd MAC address or an even MAC address based on the MAC address of the user terminal. After that, the first forwarding device can be configured as the main forwarding device for the user terminal with an odd MAC address, and the second forwarding device can be configured as the backup forwarding device for the user terminal with an odd MAC address; the second forwarding device can be configured as the main forwarding device for the user terminal with an even MAC address, and the first forwarding device can be configured as the backup forwarding device for the user terminal with an even MAC address. After that, the control device saves the configuration result to the user table entry information and sends it to the first forwarding device and the second forwarding device, so that the first forwarding device and the second forwarding device can perform corresponding actions based on the user table entry information.
[0020] In a possible implementation, before the first forwarding device receives a message forwarded by the user terminal in a load-sharing manner, the method further includes: the first forwarding device receives a dialing request broadcast by the user terminal. The first forwarding device obtains user table entry information according to the dialing request. The user table entry information is used to indicate that the first forwarding device is a backup forwarding device corresponding to the user terminal.
[0021] Exemplarily, the first forwarding device and the second forwarding device may be, for example, a broadband remote access server (BRAS). After receiving the dial-up request from the user terminal, the first forwarding device and the second forwarding device may obtain the user terminal information during the user terminal identity authentication process, and then directly determine the user table entry information.
[0022] In a possible implementation manner, the first forwarding device obtains the user entry information according to the dialing request, including: the first forwarding device generates the user entry information according to the MAC address of the user terminal corresponding to the dialing request.
[0023] Exemplarily, if the first forwarding device is a BRAS, the first forwarding device can directly obtain the MAC address of the user terminal, and then determine whether its MAC address is an odd MAC address or an even MAC address, and then determine itself as the corresponding backup forwarding device according to pre-configuration, and complete the creation of user table entry information.
[0024] In a possible implementation, the user entry information includes first indication information, second indication information, an IP address of a user terminal, and a MAC address of a user terminal; wherein the first indication information is used to indicate that the first forwarding device is a backup forwarding device corresponding to the user terminal, and the second indication information is used to indicate that the second forwarding device is a primary forwarding device corresponding to the user terminal. The user entry information also includes any one or more of the following: routing information corresponding to the user terminal, QoS information of the user terminal, and access control list ACL information corresponding to the user terminal.
[0025] For example, after receiving a message transmitted by a user terminal, the first forwarding device determines that it is the main forwarding device or backup forwarding device of the user terminal currently transmitting the message based on the user table information, and then determines whether it is necessary to forward the received message to the main forwarding device through the tunnel. For another example, if the routing information of the user terminal includes the network address of the data message transmitted by the user terminal, then when the second forwarding device does not perform traffic statistics and QoS processing on the data message, the first forwarding device directly forwards the received data message to the corresponding Internet based on the routing information.
[0026] In a possible implementation, the tunnel includes any one or more of the following: a direct interface link channel, a label switching channel LSP, a general routing encapsulation GRE channel, and a segment routing SRv6 channel.
[0027] In this way, after the backup forwarding device receives the message, it can forward it to the main forwarding device through the direct tunnel or the bypass tunnel between the backup forwarding device and the main forwarding device. For example, if the current network architecture is a leaf-spine network topology, and the first forwarding device and the second forwarding device are leaf devices, the first forwarding device can use a segment routing SRv6 channel to forward the received message to the spine device, and then the spine device can forward it to the second forwarding device using a segment routing SRv6 channel.
[0028] In the second aspect, the present application provides a message transmission method, which is applied to a network architecture consisting of a user terminal, a first forwarding device and a second forwarding device; wherein a tunnel is set between the first forwarding device and the second forwarding device; the message of the user terminal is forwarded to the first forwarding device and the second forwarding device by load sharing. The method may include: the second forwarding device receives a message forwarded by the first forwarding device through the tunnel, and the message forwarded through the tunnel includes a keep-alive request message; the second forwarding device is the main forwarding device corresponding to the user terminal; the first forwarding device is the backup forwarding device corresponding to the user terminal. The second forwarding device updates the status of the user terminal according to the keep-alive request message.
[0029] The user terminal status may include, for example, the status in the connection information table established by the communicating parties, through which the "survival status" of the other end is confirmed. For example, if a preset time is set and no data transmitted by the user terminal is received after the preset time, it is determined that the connection with the user terminal is abnormal. After the second forwarding device receives the keep-alive request, it is confirmed that the direct connection with the user terminal is normal, and the timer can be reset (updated) to restart the next round of timing corresponding to the user terminal connection.
[0030] In a possible implementation, the message of the user terminal includes a data message, and the method further includes: if the second forwarding device is also used to perform traffic statistics and service quality QoS processing on the data message, the second forwarding device receives the first data message forwarded by the first forwarding device through the tunnel. The second forwarding device receives the second data message of the user terminal. The second forwarding device performs traffic statistics and QoS processing on the first data message and the second data message, and then forwards the first data message and the second data message to the destination device.
[0031] The destination device includes, for example, the Internet or other external network devices. In this way, the user terminal of the broadband service can access the Internet through the second forwarding device.
[0032] In a possible implementation, the message of the user terminal includes a data message, and the method further includes: if the second forwarding device is not used to perform traffic statistics and service quality QoS processing on the data message, the second forwarding device receives a second data message of the user terminal, and the second forwarding device directly forwards the second data message to a destination device of the second data message.
[0033] In a possible implementation, the network architecture further includes a control device, and before the second forwarding device receives the message forwarded by the first forwarding device through the tunnel, the method further includes: the second forwarding device receives a dialing request broadcast by the user terminal. The second forwarding device sends the dialing request to the control device, and receives the user table entry information sent by the control device; wherein the user table entry information is used to indicate that the second forwarding device is the main forwarding device corresponding to the user terminal.
[0034] In a possible implementation manner, the user entry information is determined by the control device according to the media access control MAC address of the user terminal or the number of sessions between the first forwarding device and the second forwarding device.
[0035] In a possible implementation, before the second forwarding device receives the message forwarded by the first forwarding device through the tunnel, the method further includes: the second forwarding device receives a dialing request broadcast by the user terminal. The second forwarding device obtains user table entry information according to the dialing request; wherein the user table entry information is used to indicate that the second forwarding device is the main forwarding device corresponding to the user terminal.
[0036] In a possible implementation manner, the second forwarding device obtains the user entry information according to the dialing request, including: the second forwarding device obtains the user entry information according to the MAC address of the user terminal corresponding to the dialing request.
[0037] In a possible implementation, the user entry information includes first indication information, second indication information, an IP address of a user terminal, and a MAC address of a user terminal; wherein the first indication information is used to indicate that the first forwarding device is a backup forwarding device corresponding to the user terminal, and the second indication information is used to indicate that the second forwarding device is a primary forwarding device corresponding to the user terminal. The user entry information also includes any one or more of the following: routing information corresponding to the user terminal, quality of service QoS information of the user terminal, and access control list ACL information corresponding to the user terminal.
[0038] In a possible implementation, the tunnel includes any one or more of the following: a direct interface link channel, a label switching channel LSP, a general routing encapsulation GRE channel, and a segment routing SRv6 channel.
[0039] In a third aspect, the present application provides a message transmission device, which is applied to a first forwarding device, and the device may include: a receiving unit and a sending unit. The receiving unit is used to receive a message forwarded by a user terminal in a load sharing manner, and the message includes a keep-alive request message; the first forwarding device is a backup forwarding device corresponding to the user terminal. The sending unit is used to forward the keep-alive request message to a second forwarding device through a tunnel; the second forwarding device is a main forwarding device corresponding to the user terminal.
[0040] In a possible implementation, the message also includes a data message. If the second forwarding device is further used to perform traffic statistics and quality of service QoS processing on the data message, the sending unit is further used to forward the data message to the second forwarding device through the tunnel.
[0041] In a possible implementation, the message also includes a data message. The sending unit is further configured to forward the data message directly to a destination device of the data message if the second forwarding device is not configured to perform flow statistics and quality of service (QoS) processing on the data message.
[0042] In a possible implementation, the receiving unit is further used to receive a dialing request broadcast by the user terminal before receiving a message forwarded by the user terminal in a load sharing manner. The sending unit is further used to send the dialing request to the control device. The receiving unit is further used to receive user table entry information sent by the control device; wherein the user table entry information is used to indicate that the first forwarding device is a backup forwarding device corresponding to the user terminal.
[0043] In a possible implementation manner, the user entry information is determined by the control device according to the media access control MAC address of the user terminal or the number of sessions between the first forwarding device and the second forwarding device.
[0044] In a possible implementation, the apparatus includes a processing unit. The receiving unit is further configured to receive a dialing request broadcasted by a user terminal before receiving a message forwarded by the user terminal in a load sharing manner. The processing unit is configured to obtain user table entry information according to the dialing request; wherein the user table entry information is used to indicate that the first forwarding device is a backup forwarding device corresponding to the user terminal.
[0045] In a possible implementation manner, the processing unit is specifically configured to generate user entry information according to a MAC address of a user terminal corresponding to the dialing request.
[0046] In a possible implementation, the user entry information includes first indication information, second indication information, an IP address of a user terminal, and a MAC address of a user terminal; wherein the first indication information is used to indicate that the first forwarding device is a backup forwarding device corresponding to the user terminal, and the second indication information is used to indicate that the second forwarding device is a primary forwarding device corresponding to the user terminal. The user entry information also includes any one or more of the following: routing information corresponding to the user terminal, QoS information of the user terminal, and access control list ACL information corresponding to the user terminal.
[0047] In a possible implementation, the tunnel includes any one or more of the following: a direct interface link channel, a label switching channel LSP, a general routing encapsulation GRE channel, and a segment routing SRv6 channel.
[0048] In a fourth aspect, the present application provides a message transmission device, which is applied to a second forwarding device, and includes: a receiving unit and a processing unit. The receiving unit is used to receive a message forwarded by the first forwarding device through a tunnel, and the message includes a keep-alive request message; the second forwarding device is a main forwarding device corresponding to the user terminal; the first forwarding device is a backup forwarding device corresponding to the user terminal. The processing unit is used to update the status of the user terminal according to the keep-alive request message.
[0049] In a possible implementation, the message of the user terminal includes a data message. The device also includes: a sending unit. If the processing unit is also used to perform traffic statistics and quality of service QoS processing on the data message; then the receiving unit is also used to receive the first data message forwarded by the first forwarding device through the tunnel. The receiving unit is also used to receive the second data message of the user terminal. The sending unit is used to forward the first data message and the second data message to the destination device after the processing unit performs traffic statistics and QoS processing according to the first data message and the second data message.
[0050] In a possible implementation, the message of the user terminal includes a data message; the device further includes: a sending unit. If the processing unit is not used to perform traffic statistics and service quality QoS processing on the data message, the receiving unit is further used to receive a second data message of the user terminal. The sending unit is used to directly forward the second data message to a destination device of the second data message.
[0051] In a possible implementation, the device further includes: a sending unit. A receiving unit is further configured to receive a dialing request broadcast by a user terminal before receiving a message forwarded by the first forwarding device through a tunnel. The sending unit is configured to send the dialing request to the control device. The receiving unit is further configured to receive user table entry information sent by the control device; wherein the user table entry information is used to indicate that the second forwarding device is a primary forwarding device corresponding to the user terminal.
[0052] In a possible implementation manner, the user entry information is determined by the control device according to the media access control MAC address of the user terminal or the number of sessions between the first forwarding device and the second forwarding device.
[0053] In a possible implementation, the receiving unit is used to receive a dialing request broadcast by a user terminal before receiving a message forwarded by the first forwarding device through a tunnel. The processing unit is also used to obtain user table information according to the dialing request. The user table information is used to indicate that the second forwarding device is a main forwarding device corresponding to the user terminal.
[0054] In a possible implementation manner, the processing unit is specifically configured to obtain user entry information according to a MAC address of a user terminal corresponding to the dialing request.
[0055] In a possible implementation, the user entry information includes first indication information, second indication information, an IP address of a user terminal, and a MAC address of a user terminal; wherein the first indication information is used to indicate that the first forwarding device is a backup forwarding device corresponding to the user terminal, and the second indication information is used to indicate that the second forwarding device is a primary forwarding device corresponding to the user terminal. The user entry information also includes any one or more of the following: routing information corresponding to the user terminal, quality of service QoS information of the user terminal, and access control list ACL information corresponding to the user terminal.
[0056] In a possible implementation, the tunnel includes any one or more of the following: a direct interface link channel, a label switching channel LSP, a general routing encapsulation GRE channel, and a segment routing SRv6 channel.
[0057] In a fifth aspect, the present application provides a message transmission device, which may include: one or more processors; a memory for storing one or more computer programs; and one or more computer programs including instructions. When the instructions are executed by one or more processors, the message transmission device performs the message transmission method as described in the first aspect to the second aspect, and any possible implementation thereof.
[0058] In a sixth aspect, the present application provides a device having the function of implementing the message transmission method described in the first aspect to the second aspect, and any possible implementation thereof. The function can be implemented by hardware, or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions.
[0059] In a seventh aspect, an embodiment of the present application provides a message transmission system, including a user terminal, a first forwarding device, and a second forwarding device. A tunnel is set between the first forwarding device and the second forwarding device, and the message of the user terminal is forwarded to the first forwarding device and the second forwarding device in a load sharing manner. The first forwarding device executes the message transmission method as described in the first aspect and any possible implementation thereof. The second forwarding device executes the message transmission method as described in the second aspect and any possible implementation thereof.
[0060] In an eighth aspect, the present application provides a computer-readable storage medium, comprising computer instructions. When the computer instructions are executed on a server, the server executes the message transmission method as described in the first aspect to the second aspect above, and any possible implementation method thereof.
[0061] In a ninth aspect, the present application provides a computer program product, which, when running on a server, enables the server to execute the message transmission method as described in the first aspect to the second aspect above, and in any possible implementation manner therein.
[0062] In a tenth aspect, a circuit system is provided, the circuit system including a processing circuit, the processing circuit being configured to execute the message transmission method as described in the first aspect to the second aspect above, and any possible implementation manner therein. BRIEF DESCRIPTION OF THE DRAWINGS
[0063] Figure 1 It is a schematic diagram of an application scenario of a message transmission method in the prior art provided by an embodiment of the present application;
[0064] Figure 2 It is a schematic diagram of a network architecture of a message transmission system provided in an embodiment of the present application;
[0065] Figure 3 is a schematic diagram of an interface between a control device and a forwarding device provided in an embodiment of the present application;
[0066] Figure 4 This is a schematic diagram of a user terminal identity authentication process provided in an embodiment of the present application. Figure 1 ;
[0067] Figure 5 This is a schematic diagram of a user terminal identity authentication process provided in an embodiment of the present application. Figure 2 ;
[0068] Figure 6 A schematic diagram of a message transmission method provided in an embodiment of the present application Figure 1 ;
[0069] Figure 7 A schematic diagram of a message transmission method provided in an embodiment of the present application Figure 2 ;
[0070] Figure 8 This is a flow diagram of a message transmission method provided in an embodiment of the present application. Figure 3 ;
[0071] Fig. 9 A schematic diagram of a message transmission device provided in an embodiment of the present application Figure 1 ;
[0072] Fig.10 A schematic diagram of a message transmission device provided in an embodiment of the present application Figure 2 ;
[0073] Fig.11 A schematic diagram of the hardware structure of a message transmission device provided in an embodiment of the present application;
[0074] Fig.12 A schematic diagram of the structure of a message transmission system provided in an embodiment of the present application;
[0075] Fig.13 A schematic diagram of the structure of a chip system provided in an embodiment of the present application. DETAILED DESCRIPTION
[0076] The message transmission method, device and system provided in the embodiments of the present application are described in detail below in conjunction with the accompanying drawings.
[0077] Figure 2(a) in the figure exemplarily shows a schematic diagram of the network architecture of a message transmission system provided in an embodiment of the present application. The network architecture includes multiple user terminals 21 (for example, user terminal 1 and user terminal 2), a first forwarding device 22, and a second forwarding device 23. Each device can be connected via a wired network or a wireless network. The embodiment of the present application does not specifically limit the connection method between devices.
[0078] The user terminal 21 may be a mobile phone, a tablet computer, a computer with wireless transceiver function, a personal digital assistant (PDA), a smart watch, a netbook, a wearable electronic device, an augmented reality (AR) device, a virtual reality (VR) device, a vehicle-mounted device, a wireless terminal in industrial control, a wireless terminal in self-driving, a wireless terminal in remote medical, a wireless terminal in smart grid, a wireless terminal in transportation safety, a wireless terminal in smart city, a wireless terminal in smart home, an artificial intelligence (AI) terminal, or the like, which is a terminal device that can realize the network access function. The embodiments of the present disclosure do not impose any special restrictions on the specific form of the user terminal.
[0079] The first forwarding device 22 and the second forwarding device 23 may be, for example, a broadband remote access server (BRAS); or Figure 1As shown, the BNG device is applied to the network architecture based on SDN and NFV to realize the decoupling of the BNG device, and the first forwarding device 22 and the second forwarding device can be the user plane (BNG-UP) device of the BNG. The first forwarding device 22 and the second forwarding device 23 are located at the edge of the network layer, and play the role of a bridge between the broadband access network and the backbone network, providing basic access means and management functions of the broadband access network. It realizes the convergence and forwarding of multiple services, can meet the requirements of different users for transmission capacity and bandwidth utilization, and is the core device for broadband user access. For example, after the first forwarding device 22 receives the message transmitted by the user terminal 21 through the second layer device such as SW / OLT24, it can forward the message to the destination device 25 corresponding to the message. Among them, the destination device 25 can include the Internet (internet) or other external network devices. In this way, for example, the user terminal 21 of the broadband service can access the Internet through the first forwarding device 22. The first forwarding device 22 and the second forwarding device 23 can also receive the message transmitted by the destination device 25 and forward the message to the user terminal 21.
[0080] Optionally, before the user terminal 21 normally accesses the network, it is necessary to authenticate the user terminal 21. Then the above network architecture may also include an authentication, authorization, and accounting (AAA) server. The AAA server is a server that can process access requests from the user terminal 21, provide authentication authorization and account services, and its main purpose is to manage user terminals accessing network servers and provide services to user terminals 21 with access rights.
[0081] Optional, such as Figure 2 As shown in (b) of FIG. 1 , if the first forwarding device 22 and the second forwarding device 23 are BNG user plane (BNG-UP) devices, the network architecture may further include a control device 27, such as a BNG control plane (BNG-CP) device. The control device 27 is used to cooperate with the authentication system, the billing system, the customer management system, the service policy control system, and the AAA server to implement the authentication, billing, and management functions of the user terminal 21 access. Or, as Figure 2 As shown in (a), if the first forwarding device 22 and the second forwarding device 23 are BRAS devices, the first forwarding device 22 and the second forwarding device 23 are directly used to cooperate with the authentication system, billing system, customer management system, service policy control system and AAA server to implement authentication, billing and management functions for user terminal 21 access.
[0082] Optional, such as Figure 3The figure is a schematic diagram of the interface between the control device and the first forwarding device / second forwarding device. The control device and the first forwarding device / second forwarding device communicate via a packet redirection interface (Pri), a state control interface (Sci) and a management interface (Mi). The usage of each interface in the embodiment of the present application is described below. Figure 4 and Figure 5 Description of the user terminal identity authentication process.
[0083] It should be noted that the above network architecture can be a traditional three-layer network topology or a leaf-spine network topology. For example, the first forwarding device 22 and the second forwarding device 23 are leaf devices, and another forwarding device can be configured as a spine device between the first forwarding device 22 and the second forwarding device 23 and the destination device 25. Alternatively, with the development of network technology, it can be other types of network topologies.
[0084] In order to improve the user side link 26 (eg Figure 2 The utilization of the user side link 1 and the user side link 2 shown in (a) in the figure can be improved to prevent the problem of a large load on a single side link. Multiple physical layer 2 user side links 26 can be bundled into a logical layer 2 link through the link aggregation group (LAG) technology. Multiple user side links 26 in the LAG correspond to the same Trunk port and are connected to the SW / OLT24, and multiple user side links 26 under the Trunk port can achieve load balancing. In this way, Figure 2 (a) or Figure 2 As shown in (b), after the uplink message transmitted by the user terminal 21 passes through the SW / OLT 24, it will be transmitted to the first forwarding device 22 and the second forwarding device 23 through the user side link 1 and the user side link 2, thereby realizing load sharing of the user side link 26.
[0085] At present, in the existing network architecture, the services under SW / OLT24 can be dedicated line services, such as level 2 virtual private network (L2VPN), layer 3 virtual private network (L3VPN), etc.; they can also be broadband services. After the user side link 26 is aggregated through the LAG technology, the user terminal 21 using L2VPN, L3VPN or broadband services can be distinguished through the sub-interface of the trunk interface, so that it has different virtual local area network (VLAN) ranges.
[0086] Among them, for L2VPN users and L3VPN users, after the message of the user terminal 21 is forwarded to the first forwarding device 22 and the second forwarding device 23 at the SW / OLT24 by load sharing (such as applying LAG technology), the first forwarding device 22 and the second forwarding device 23 can directly forward the obtained message to the destination device 25, that is, dual-active access of two user-side links 26 can be achieved. For broadband service users, since the route corresponding to the user terminal 21 of the broadband service can only be configured on a single forwarding device. In other words, for the broadband service user terminal 21, after the user-side links 26 corresponding to the first forwarding device 22 and the second forwarding device 23 are aggregated using the LAG technology, the route corresponding to the user terminal 21 can only be configured on one of the forwarding devices, which is the main forwarding device corresponding to the user terminal 21, and the other forwarding device that is not configured with the route corresponding to the user terminal 21 is the backup forwarding device corresponding to the user terminal 21. This results in that if the user terminal 21 of the broadband service forwards the message to the backup forwarding device through load sharing at SW / OLT24, the backup forwarding device will not be able to process the message because the route corresponding to the user terminal 21 is not configured, and the corresponding message may even be directly discarded, causing the user terminal to fail and go offline.
[0087] In view of this, an embodiment of the present application provides a message transmission method, which is applied to Figure 2 The network architecture shown in (c) in FIG. 1 , or applied to Figure 2 In the network architecture shown in (d) in FIG. Figure 2 (c) is based on Figure 2 The improvement of the network architecture shown in (a) is Figure 2 (d) is based on Figure 2 The network architecture shown in (b) is improved. Figure 2 (c) or Figure 2As shown in (d), a tunnel 28 is configured between the first forwarding device 22 and the second forwarding device 23. In this way, if the backup forwarding device receives a message forwarded by the user terminal 21 and confirms that it is a backup forwarding device that is not configured with a route corresponding to the user terminal 21, the message can be forwarded to the main forwarding device through the tunnel 28 to avoid the user's failure to go offline. The message transmission method provided in the embodiment of the present application can ensure that the broadband service user terminal transmits messages normally under the premise of realizing the transmission of messages in the user-side link in a load-sharing manner.
[0088] First, the user terminal identity authentication process is briefly introduced. Figure 4 As shown in FIG. 1 , a schematic diagram of a user terminal identity authentication process can be applied to Figure 2 In the network architecture shown in (d).
[0089] Taking a user terminal accessing a network via point-to-point protocol over Ethernet (PPPoE) as an example, its identity authentication process may include: a discovery phase negotiation process and a session phase negotiation process.
[0090] The discovery phase negotiation process includes:
[0091] Step 1: The user terminal sends a PPPoE dial-up request. For example, the user terminal sends a PPPoE active discovery initiation (PADI) message to the first forwarding device and the second forwarding device through the SW / OLT.
[0092] Step 2: The first forwarding device and the second forwarding device forward the PADI message to the control device through Pri.
[0093] Step 3, the control device can determine the main forwarding device and the backup forwarding device according to the MAC address of the user terminal corresponding to the PADI message or the number of sessions (or session load) between the first forwarding device and the second forwarding device. For example, the first forwarding device is the main forwarding device corresponding to the user terminal with an odd MAC address, and the second forwarding device is the backup forwarding device corresponding to the user terminal with an even MAC address. For another example, at this time, the number of sessions of the second forwarding device is small, and the user terminal can access through the second forwarding device, then the second forwarding device is the main forwarding device corresponding to the user terminal, and the first forwarding device is the backup forwarding device corresponding to the user terminal.
[0094] Step 4: The control device replies to the primary forwarding device with a PPPoE active discovery offer (PADO) message, which indicates that a connection with the user terminal is allowed. Assuming that the control device determines that the second forwarding device is the primary forwarding device corresponding to the user terminal, the control device replies with a PADO message to the second forwarding device.
[0095] Step 5: The second terminal forwards the PADO message to the user terminal through the SW / OLT.
[0096] Step 6: After receiving the PADO message, the user terminal sends a PPPoE active discovery request (PADR) message to the control device through the SW / OLT and the second forwarding device.
[0097] Step 7: After receiving the PADR message, the control device sends a PPPoE active session-confirmation (PADS) message to the user terminal through the second forwarding device and the SW / OLT to complete the negotiation process of the PPPoE dial-up request discovery phase.
[0098] The negotiation process in the session phase includes:
[0099] Step 1: The user terminal sends a link control protocol (LCP) negotiation request to the control device through the SW / OLT and the second forwarding device. The LCP negotiation request carries user terminal information (such as the user name and password of the user terminal). The LCP negotiation request is used to request identity authentication for the user terminal.
[0100] Step 2: The control device obtains user terminal information according to the LCP negotiation request, and sends the user terminal information to the AAA server.
[0101] Step 3: The AAA server matches the stored user terminal information with the received user terminal information to verify the identity of the user terminal. After the verification is successful (that is, the stored user terminal information is the same as the received user terminal information), a response message is sent to the control device.
[0102] Step 4: After receiving the response message, the control device allows the user terminal to access the network, notifies the AAA server to start billing, and sends the address information and domain name information assigned to the user terminal to the second forwarding device through Mi. The second forwarding device sends the address information and domain name information to the user terminal.
[0103] Step 5: The control device generates and sends user entry information to the first forwarding device and the second forwarding device through SCi.
[0104] Step 6: The second forwarding device generates a user route according to the user entry information, and notifies the user route information to other devices. Subsequently, the user terminal can access the network through the second forwarding device.
[0105] The user table item information includes first indication information, second indication information, the IP address of the user terminal, and the MAC address of the user terminal. The first indication information is used to indicate that the first forwarding device is a backup forwarding device corresponding to the user terminal, and the second indication information is used to indicate that the second forwarding device is a main forwarding device corresponding to the user terminal. The user table item information also includes any one or more of the following items: routing information corresponding to the user terminal, QoS information of the user terminal, and access control list (ACL) information corresponding to the user terminal. As shown in Table 1 below, an exemplary list of the contents and meanings contained in a user table item information is listed. The ACL information corresponding to the user terminal will display the name of the ACL template corresponding to the user terminal in the user table item information.
[0106] Table 1
[0107]
[0108] For example, Figure 5 As shown in FIG. 1 , it is a schematic diagram of another user terminal identity authentication process, which can be applied to Figure 2 In the network architecture shown in (c) of FIG. 1 , at this time, the first forwarding device and the second forwarding device can execute the action of controlling the interaction between the device and the AAA server.
[0109] See also Figure 5 As shown in the figure, the negotiation process in the discovery phase includes:
[0110] Step 1: The user terminal sends a PPPoE dial-up request. For example, the user terminal sends a PADI message to the first forwarding device and the second forwarding device through the SW / OLT.
[0111] Step 2: After the first forwarding device and the second forwarding device receive the PADI message, they will directly determine the main forwarding device and the backup forwarding device according to the MAC address of the user terminal corresponding to the PADI message. Assuming that the second forwarding device is determined to be the main forwarding device corresponding to the user terminal, the second forwarding device will reply the PADO message to the user terminal.
[0112] Step 3: The second terminal forwards the PADO message to the user terminal through the SW / OLT.
[0113] Step 4: After receiving the PADO message, the user terminal sends a PADR message to the second forwarding device through the SW / OLT.
[0114] Step 5: After receiving the PADR message, the second forwarding device sends a PADS message to the user terminal through the SW / OLT to complete the negotiation process of the PPPoE dial-up request discovery phase.
[0115] The negotiation process in the session phase includes:
[0116] Step 1: The user terminal sends an LCP negotiation request to the second forwarding device through the SW / OLT.
[0117] Step 2: The second forwarding device obtains user terminal information according to the LCP negotiation request, and sends the user terminal information to the AAA server.
[0118] Step 3: The AAA server verifies the identity of the user terminal, and after the verification is successful, sends a response message to the second forwarding device.
[0119] Step 4: After receiving the response message, the second forwarding device allows the user terminal to access the network, notifies the AAA server to start billing, and sends the address information and domain name information allocated to the user terminal to the user terminal through the SW / OLT.
[0120] Step 5: The second forwarding device generates user entry information and user routes.
[0121] Step 6: The primary forwarding device sends user data to the backup forwarding device, instructing the backup forwarding device to synchronize the user data. That is, the second forwarding device sends user data to the first forwarding device.
[0122] Step 7: The first forwarding device synchronizes user data and generates corresponding user entry information.
[0123] Subsequently, the user terminal can access the network normally.
[0124] like Figure 6 As shown, after the user terminal passes the identity authentication, the embodiment of the present application provides a flow chart of a message transmission method. The method may include S101-S103:
[0125] S101. A first forwarding device receives a message forwarded by a user terminal in a load balancing manner, where the message includes a keep-alive request message.
[0126] Among them, the messages of the user terminal may include signaling messages, such as keepalive request messages. In the process of establishing a connection and communicating between the user terminal and the forwarding device, various accidents such as power failure, crash, abnormal restart, etc. may occur on both sides of the communication. After the accident occurs, if both parties do not release the connection normally in time, the other party of the connection will continue to maintain the connection without knowing the other party, resulting in the accumulation of abnormal connections and the consumption and waste of end system resources. Based on this, the keepalive request message can be used to detect the "survival" status of the connection peer.
[0127] For example, Figure 2 As shown in (d), the user side link 26 between SW / OLT24 and the first forwarding device 22 and the second forwarding device 23 is aggregated through the LAG technology to form a logical link, so as to realize load sharing of the user side link 26. After the identity authentication of the user terminal 21 is performed by the control device 27 and the AAA server, and the first forwarding device 22 is determined as the backup forwarding device corresponding to the user terminal 21, and the second forwarding device 23 is determined as the main forwarding device corresponding to the user terminal 21, the message of the user terminal 21 is forwarded to the first forwarding device 22 and the second forwarding device 23 at SW / OLT24 by load sharing. When the message passes through SW / OLT24, SW / OLT24 will perform load balancing operations, such as hash operations. Afterwards, according to the results of the load balancing operation, the message will be forwarded to the first forwarding device 22 and the second forwarding device 23.
[0128] For example, Figure 2 As shown in (c), the first forwarding device 22 and the second forwarding device 22 determine that the first forwarding device 22 is the backup forwarding device corresponding to the user terminal 21, and the second forwarding device 23 is the main forwarding device corresponding to the user terminal 21. After the second forwarding device 23 and the AAA server verify the identity of the user terminal 21, the message of the user terminal 21 is forwarded to the first forwarding device 22 and the second forwarding device 23 at the SW / OLT24 by load sharing. When the message passes through the SW / OLT24, the SW / OLT24 will perform load balancing operations, such as hash operations. Afterwards, according to the results of the load balancing operation, the message will be forwarded to the first forwarding device 22 and the second forwarding device 23.
[0129] In this way, load balancing is achieved among multiple user-side links, and the first forwarding device and the second forwarding device receive the message after the load balancing operation.
[0130] S102: The first forwarding device forwards the keep-alive request message to the second forwarding device through the tunnel.
[0131] The tunnel includes any one or more of the following: a direct interface link channel, a label switch path (LSP), a generic gouting encapsulation (GRE) channel, and a segment routing version (SRv6) channel. For example, if the tunnel is a direct interface link channel, it means that a direct channel is established between the first forwarding device and the second forwarding device, and messages can be directly transmitted. For another example, by using the above-mentioned SRv6 and other forwarding technologies, a bypass tunnel is established between the first forwarding device and the second forwarding device, and messages are transmitted through the switching of intermediate devices such as spine devices.
[0132] Exemplarily, according to the result of the load balancing operation, after the message is transmitted to the first forwarding device, the first forwarding device queries the user table entry information, and determines the identifier of the user terminal corresponding to the received message according to the user table entry information. Then, according to the identifier of the user terminal, it is determined that the first forwarding device is the backup forwarding device of the user terminal corresponding to the message. If an identification bit can be set in the message, the first forwarding device determines the corresponding indication information according to the value of the identification bit after receiving the message, and then determines the primary and backup status of the forwarding device for the user terminal indicated by the indication information. If the value of the identification bit corresponds to the first indication information, it is used to indicate that the first forwarding device is the backup forwarding device of the user terminal. If the backup forwarding device is not used to reply to the keep-alive request message, the first forwarding device will forward the received keep-alive request message to the second forwarding device through the tunnel between the first forwarding device and the second forwarding device, and the second forwarding device will process the keep-alive request message.
[0133] For example, Figure 2 As shown in (d), after the first forwarding device 22 receives the message from the user terminal 21 transmitted at the SW / OLT24 through load sharing, it will determine based on the user table information that the message does not need to be processed, but forwards the message to the second forwarding device 23 through the tunnel 28.
[0134] S103: The second forwarding device updates the status of the user terminal according to the keep-alive request message.
[0135] Among them, the status of the user terminal may include, for example, whether the connection is normal, the value of the keep-alive timer, etc. Specifically, generally the two communicating parties will establish a connection information table to save the communication status of the other party's device, and will set a keep-alive timer. After the second forwarding device receives the keep-alive request message, it confirms that the user terminal is online, resets the keep-alive request timer, and updates the status of the user terminal to restart the timing. In order to prevent the second forwarding device from deleting the information of the user terminal in the connection information table if the information transmitted by the user terminal is not received for more than a preset time. Correspondingly, after the user terminal receives the confirmation response message of the keep-alive request message, it will also update the status of the second forwarding device to ensure normal connection. It can be understood that the second forwarding device can also actively send a keep-alive request message to the user terminal to confirm the status of the user terminal.
[0136] Exemplarily, after receiving the keep-alive request message forwarded by the first forwarding device through the tunnel, the second forwarding device will update the status of the user terminal, and will send an acknowledgement (acknowledge character, ACK) message of the keep-alive request message to the user terminal according to the user route obtained in the above-mentioned user terminal identity authentication process. In other words, even if the route corresponding to the user terminal of the broadband service can only be configured on a single forwarding device, after the message is transmitted to the backup forwarding device through load sharing, the backup forwarding device can also forward the message to the main forwarding device through the tunnel, and the main forwarding device will process it according to the user route to ensure that the user can access normally.
[0137] For example, Figure 2 As shown in (d), the second forwarding device 23 receives the keep-alive request message forwarded by the first forwarding device 22 through the tunnel 28, updates the status of the corresponding user terminal 21 according to the keep-alive request message, restarts the keep-alive timer, and sends a response message to the keep-alive request message to the user terminal 21 to confirm that the connection between the two parties is normal.
[0138] Therefore, the message transmission method provided in the embodiment of the present application, by establishing a tunnel between the first forwarding device and the second forwarding device, can ensure that the user terminal is normally accessed when the message of the user terminal is transmitted through load sharing, thereby improving the utilization rate of the user side link and reducing the load of the user side link.
[0139] In some embodiments, if the message forwarded by the user terminal to the first forwarding device and the second forwarding device in a load sharing manner also includes a data message, and the second forwarding device (main forwarding device) is also used to perform traffic statistics and quality of service (QoS) processing on the data message, then Figure 7 As shown, another message transmission method provided in an embodiment of the present application may include: S201-S204:
[0140] S201. A first forwarding device receives a message forwarded by a user terminal in a load balancing manner, where the message includes a first data message.
[0141] Among them, the message of the user terminal may also include a data message, which may include, for example, traffic data uploaded or downloaded by the user terminal. Traffic statistics of the data message refers to statistics on traffic flow to obtain real-time traffic data. QoS processing is a network traffic management capability that can provide better or special services to some users and / or applications while degrading other users or applications. QoS processing technology can be used to grade user traffic. Further, QoS processing can provide different service qualities for different needs of various user terminals. For example, dedicated bandwidth is provided, message loss rate is reduced, network congestion management, network congestion avoidance, traffic speed limit, etc. are provided to achieve more reasonable allocation and utilization of existing bandwidth. If an ordinary home broadband user terminal needs an Internet speed of 300.0Mbps to meet user needs, the data message corresponding to the user terminal can be speed-limited to limit its allocated bandwidth and allocate more bandwidth to devices with higher latency requirements.
[0142] Exemplarily, the forwarding device can be used to perform traffic statistics and QoS processing on the message data transmitted by the user terminal. In this way, after the first forwarding device receives the message transmitted by the user terminal after the load balancing operation at the SW / OLT, it will query the user table information, and then determine the master / slave status of the forwarding device itself for the user terminal currently transmitting the message, and then determine whether the message needs to be forwarded.
[0143] For the rest of the content, please refer to the relevant description of step S101, which will not be repeated here.
[0144] S202: The first forwarding device forwards the first data packet to the second forwarding device through the tunnel.
[0145] Exemplarily, after the first forwarding device determines that it is a backup forwarding device for the user terminal currently transmitting the message, it forwards the received message data to the second forwarding device through a direct tunnel or a detour tunnel between the first forwarding device and the second forwarding device, and the second forwarding device processes it.
[0146] For the rest of the content, please refer to the relevant description of step S102, which will not be repeated here.
[0147] S203: The second forwarding device receives a second data packet from the user terminal.
[0148] Exemplarily, the user terminal transmits data packets to the forwarding device by load sharing, and the first forwarding device and the second forwarding device will receive some of the data packets, thereby preventing uneven load on the user side links caused by transmitting traffic data on a single user side link, such as overload of user side link 1 and insufficient load rate of user side link 2.
[0149] S204: The second forwarding device performs traffic statistics and QoS processing on the first data packet and the second data packet, and then forwards the first data packet and the second data packet to a destination device.
[0150] Exemplarily, after the second forwarding device obtains the first data packet and the second data packet through the above steps S202 and S203, it obtains the complete data packet transmitted by the user terminal, and then can perform traffic statistics and QoS processing on the complete data packet. Afterwards, the processed traffic data is forwarded to the destination device corresponding to the first data packet and the second data packet. In addition, the second forwarding device is also used to receive the return data packet sent by the destination device, and forward the return data packet to the user terminal according to the obtained user route. If the destination device can be the Internet, the second forwarding device performs speed limit processing on the obtained complete data packet such as traffic data, and then forwards it to the Internet. And forward the return traffic to the user terminal. In this way, the user terminal goes online and accesses the network.
[0151] For example, Figure 2 As shown in (d), after receiving the first data message forwarded by the first forwarding device 22 through the tunnel 28 and the second data message from the user terminal 21, the second forwarding device 23 performs traffic statistics and QoS processing according to the first data message and the second data message, and then forwards them to the destination device 25. In addition, the second forwarding device 23 receives the return data message transmitted by the destination device 25, and forwards the return data message to the user terminal 21.
[0152] Therefore, the message transmission method provided in the embodiment of the present application, by establishing a tunnel between the first forwarding device and the second forwarding device, can ensure that the user terminal can access normally when the user terminal transmits the message through load sharing, thereby improving the utilization rate of the user side link and reducing the load of the user side link.
[0153] In some embodiments, if the message forwarded by the user terminal to the first forwarding device and the second forwarding device in a load sharing manner also includes a data message, and the second forwarding device (main forwarding device) is not used to perform traffic statistics and QoS processing on the data message, then Figure 8 As shown, another message transmission method provided in an embodiment of the present application may include: S301-S303:
[0154] S301. A user terminal forwards a message to a first forwarding device and a second forwarding device in a load balancing manner, where the message includes a data message.
[0155] For example, the functions of traffic statistics and QoS processing may not be configured at the forwarding device, such as being configured at the SW / OLT for traffic statistics and QoS processing. It is not necessary to perform traffic statistics and QoS processing on the uplink data message of the user terminal again at the forwarding device. Among them, the user terminal transmits the data message uplink in a load sharing manner, then the first forwarding device will receive the first data message, and the second forwarding device will receive the second data message.
[0156] S302: The first forwarding device forwards the first data message directly to the destination device of the first data message.
[0157] S303: The second forwarding device forwards the second data message directly to the destination device of the second data message.
[0158] Exemplarily, in step S302 and step S303, the first data packet received by the first forwarding device and the second data packet received by the second forwarding device are both packets transmitted in a load-sharing manner after traffic statistics and QoS processing of the uplink data packet of the user terminal. In this way, the first forwarding device does not have to forward the received data packet to the second forwarding device through a tunnel, and the second forwarding device does not have to wait until it receives the data packet forwarded by the first forwarding device before processing the data packet. The first forwarding device and the second forwarding device can directly forward the received data packet to the destination device of the data packet. The destination device will determine the corresponding main forwarding device based on the data packet, and then use the main forwarding device to forward the return data packet.
[0159] Therefore, the message transmission method provided in the embodiment of the present application, by establishing a tunnel between the first forwarding device and the second forwarding device, can ensure that the user terminal can access normally when the user terminal transmits the message through load sharing, thereby improving the utilization rate of the user side link and reducing the load of the user side link.
[0160] Fig. 9 A possible structural diagram of the message transmission device involved in the above embodiment is shown. The message transmission device 900 includes: a receiving unit 901 and a sending unit 902.
[0161] The receiving unit 901 is used to support the message transmission device 900 to execute Figure 6 Step S101 in Figure 7 In step S201, Figure 8Step S301 in, and / or other processes for the technology described herein.
[0162] The sending unit 902 is used to support the message transmission device 900 to execute Figure 4 Step 2 of the discovery phase negotiation process, Figure 6 In step S102, Figure 7 In step S202, Figure 8 Step S302 in, and / or other processes for the technology described herein.
[0163] The message transmission device 900 may further include a processing unit 903, which is used to support the message transmission device 900 to execute Figure 5 Step 2 of the discovery phase negotiation process, Figure 5 Step seven of the session phase negotiation, and / or other processes for the technology described in this document.
[0164] Among them, all relevant contents of each step involved in the above method embodiment can be referred to the functional description of the corresponding functional unit, and will not be repeated here.
[0165] Fig.10 A possible structural diagram of a message transmission device involved in the above embodiment is shown. The message transmission device 1000 includes: a receiving unit 1001 and a processing unit 1002 .
[0166] The receiving unit 1001 is used to support the message transmission device 1000 to execute Figure 7 Step S203 in Figure 8 Step S301 in, and / or other processes for the technology described herein.
[0167] The processing unit 1002 is used to support the message transmission device 1000 to execute Figure 4 Step 6 of the negotiation in the session phase: Figure 5 Step 2 of the negotiation process during the discovery phase, Figure 5 Step 5 of the negotiation in the session phase: Figure 6 In step S103, Figure 7 Step S204 in, and / or other processes for the technology described herein.
[0168] The message transmission device 1000 may further include a sending unit 1003, which is used to support the message transmission device 1000 to execute Figure 4 In the discovery phase, steps 2 and 5 of the negotiation process are Figure 5 Step 6 of the negotiation in the session phase: Figure 8 Step S303 in, and / or other processes for the technology described herein.
[0169] Among them, all relevant contents of each step involved in the above method embodiment can be referred to the functional description of the corresponding functional unit, and will not be repeated here.
[0170] Fig.11 The hardware structure diagram of the message transmission device provided in the embodiment of the present application is shown. The message transmission device may correspond to the above Fig. 9 The message transmission device in the embodiment may correspond to the above Fig.10 The message transmission device includes at least one processor 1101, a communication line 1102, a memory 1103 and at least one communication interface 1104. The memory 1103 may also be included in the processor 1101.
[0171] The processor 1101 may be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the program of the present application.
[0172] The communication link 1102 may include a pathway to transmit information between the above-mentioned components.
[0173] Communication interface 1104, used to communicate with other devices. In the embodiment of the present application, the communication interface can be a module, a circuit, a bus, an interface, a transceiver or other device capable of implementing a communication function, used to communicate with other devices. Optionally, when the communication interface is a transceiver, the transceiver can be an independently arranged transmitter, which can be used to send information to other devices, and the transceiver can also be an independently arranged receiver, which is used to receive information from other devices. The transceiver can also be a component that integrates the functions of sending and receiving information, and the embodiment of the present application does not limit the specific implementation of the transceiver.
[0174] The memory 1103 may be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory may exist independently and be connected to the processor 1101 via the communication line 1102. The memory 1103 may also be integrated with the processor 1101.
[0175] The memory 1103 is used to store computer-executable instructions for implementing the solution of the present application, and the execution is controlled by the processor 1101. The processor 1101 is used to execute the computer-executable instructions stored in the memory 1103, thereby implementing the message transmission method provided in the following embodiments of the present application.
[0176] Optionally, the computer-executable instructions in the embodiments of the present application may also be referred to as application code, instructions, computer program or other names, which are not specifically limited in the embodiments of the present application.
[0177] In a specific implementation, as an embodiment, the processor 1101 may include one or more CPUs, such as Fig.11 CPU0 and CPU1 in.
[0178] In a specific implementation, as an embodiment, the message transmission device 1100 may include multiple processors, such as Fig.11 1 and 1105. Each of these processors may be a single-core processor or a multi-core processor. A processor herein may refer to one or more devices, circuits, and / or processing cores for processing data (e.g., computer program instructions).
[0179] It should be noted that the above-mentioned message transmission device can be a general device or a special device, and the embodiment of the present application does not limit the type of the message transmission device. The structure illustrated in the embodiment of the present application does not constitute a specific limitation on the message transmission device. In other embodiments of the present application, the message transmission device may include more or fewer components than shown in the figure, or combine certain components, or split certain components, or arrange the components differently. The illustrated components can be implemented in hardware, software, or a combination of software and hardware.
[0180] The present application embodiment provides a message transmission system 1200, such as Fig.12 As shown, it includes a user terminal 1201, a first forwarding device 1202 and a second forwarding device 1203. A tunnel 1204 is set between the first forwarding device 1202 and the second forwarding device 1203. The message of the user terminal 1201 is forwarded to the first forwarding device 1202 and the second forwarding device 1203 through load sharing (such as using LAG technology).
[0181] The first forwarding device 1202 is used to execute Figure 6 Steps S101 and S102 in Figure 7 Steps S201 and S202 in Figure 8 Step S302 in, and / or other processes for the technology described herein.
[0182] The second forwarding device 1203 is used to execute Figure 6 In step S103, Figure 7 Steps S203 and S204 in Figure 8 Step S303 in, and / or other processes for the technology described herein.
[0183] It is understandable that the message transmission system 1200 may include more or fewer components than shown in the figure, or combine some components, or split some components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware. All relevant contents of each step involved in the above method embodiment can be referred to the functional description of the corresponding component, and will not be repeated here.
[0184] The present application also provides a chip system, such as Fig.13As shown, the chip system includes at least one processor 1301 and at least one interface circuit 1302. The processor 1301 and the interface circuit 1302 can be interconnected via lines. For example, the interface circuit 1302 can be used to receive signals from other devices. For another example, the interface circuit 1302 can be used to send signals to other devices (such as processor 1301). Exemplarily, the interface circuit 1302 can read instructions stored in the memory and send the instructions to the processor 1301. When the instructions are executed by the processor 1301, the message transmission device can perform the various steps in the message transmission method in the above embodiment. Of course, the chip system can also include other discrete devices, which are not specifically limited in the embodiments of the present application.
[0185] An embodiment of the present application also provides a computer-readable storage medium, in which computer instructions are stored. When the computer instructions are executed on a server, the server executes the above-mentioned related method steps to implement the message transmission method in the above-mentioned embodiment.
[0186] The embodiment of the present application also provides a computer program product. When the computer program product is run on a computer, the computer is caused to execute the above-mentioned related steps to implement the message transmission method in the above-mentioned embodiment.
[0187] In addition, an embodiment of the present application further provides a device, which may be a component or a module, and may include one or more processors and a memory connected to each other; wherein the memory is used to store computer programs, and the one or more computer programs include instructions. When the instructions are executed by one or more processors, the device executes the message transmission method in the above-mentioned method embodiments.
[0188] Among them, the device, computer-readable storage medium, computer program product or chip provided in the embodiments of the present application are all used to execute the corresponding methods provided above. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects in the corresponding methods provided above and will not be repeated here.
[0189] Through the description of the above implementation methods, technicians in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. The specific working process of the system, device and unit described above can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.
[0190] In the several embodiments provided in the present application, it should be understood that the disclosed method can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the modules or units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of modules or units, which can be electrical, mechanical or other forms.
[0191] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0192] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0193] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: flash memory, mobile hard disk, read-only memory, random access memory, disk or optical disk and other media that can store program instructions.
[0194] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions within the technical scope disclosed in the present application should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A message transmission method, characterized in that: Applied to a network architecture including a user terminal, a first forwarding device, and a second forwarding device; wherein a tunnel is provided between the first forwarding device and the second forwarding device; the message of the user terminal is forwarded to the first forwarding device and the second forwarding device in a load sharing manner; the method comprises: The first forwarding device receives a message forwarded by the user terminal in a load sharing manner, wherein the message includes a keep-alive request message; the first forwarding device is a standby forwarding device corresponding to the user terminal, and the standby forwarding device is a forwarding device that is not configured with user routing; The first forwarding device forwards the keep-alive request message to the second forwarding device through the tunnel; the second forwarding device is a main forwarding device corresponding to the user terminal, and the main forwarding device is a forwarding device configured with user routing.
2. The method according to claim 1, characterized in that The message also includes a data message, and the method further includes: If the second forwarding device is also used to perform traffic statistics and quality of service (QoS) processing on the data message, the first forwarding device forwards the data message to the second forwarding device through the tunnel.
3. The method according to claim 1, characterized in that The message also includes a data message, and the method further includes: If the second forwarding device is not used to perform traffic statistics and quality of service (QoS) processing on the data message, the first forwarding device directly forwards the data message to the destination device of the data message.
4. The method according to any one of claims 1 to 3, characterized in that: The network architecture also includes a control device. Before the first forwarding device receives a message forwarded by the user terminal in a load sharing manner, the method further includes: The first forwarding device receives a dialing request broadcast by the user terminal; The first forwarding device sends the dial request to the control device, and receives the user entry information sent by the control device; wherein the user entry information is used to indicate that the first forwarding device is a backup forwarding device corresponding to the user terminal.
5. The method according to claim 4, characterized in that The user entry information is determined by the control device according to the media access control MAC address of the user terminal or the number of sessions between the first forwarding device and the second forwarding device.
6. The method according to any one of claims 1 to 3, characterized in that: Before the first forwarding device receives the message forwarded by the user terminal in a load balancing manner, the method further includes: The first forwarding device receives a dialing request broadcast by the user terminal; The first forwarding device obtains user entry information according to the dial request; wherein the user entry information is used to indicate that the first forwarding device is a backup forwarding device corresponding to the user terminal.
7. The method according to claim 6, characterized in that The first forwarding device obtains the user entry information according to the dial request, including: The first forwarding device generates the user entry information according to the MAC address of the user terminal corresponding to the dial request.
8. The method according to claim 4, characterized in that The user entry information includes first indication information, second indication information, the IP address of the user terminal, and the MAC address of the user terminal; wherein the first indication information is used to indicate that the first forwarding device is a backup forwarding device corresponding to the user terminal, and the second indication information is used to indicate that the second forwarding device is a primary forwarding device corresponding to the user terminal; The user entry information also includes any one or more of the following items: routing information corresponding to the user terminal, QoS information of the user terminal, and access control list ACL information corresponding to the user terminal.
9. The method according to any one of claims 1 to 3, characterized in that: The tunnel includes any one or more of the following: a direct interface link channel, a label switching channel LSP, a general routing encapsulation GRE channel, and a segment routing SRv6 channel.
10. A message transmission method, characterized in that: Applied to a network architecture including a user terminal, a first forwarding device, and a second forwarding device; wherein a tunnel is provided between the first forwarding device and the second forwarding device; the message of the user terminal is forwarded to the first forwarding device and the second forwarding device in a load sharing manner; the method comprises: The second forwarding device receives a message forwarded by the first forwarding device through the tunnel, wherein the message forwarded through the tunnel includes a keep-alive request message; the second forwarding device is a main forwarding device corresponding to the user terminal, and the main forwarding device is a forwarding device configured with user routing; the first forwarding device is a backup forwarding device corresponding to the user terminal, and the backup forwarding device is a forwarding device not configured with user routing; The second forwarding device updates the status of the user terminal according to the keep-alive request message.
11. The method according to claim 10, characterized in that The message of the user terminal includes a data message, and the method further includes: If the second forwarding device is also used to perform traffic statistics and quality of service QoS processing on the data message, the second forwarding device receives the first data message forwarded by the first forwarding device through the tunnel; The second forwarding device receives a second data packet from the user terminal; The second forwarding device performs traffic statistics and QoS processing on the first data packet and the second data packet, and then forwards the first data packet and the second data packet to a destination device.
12. The method according to claim 10, characterized in that The message of the user terminal includes a data message, and the method further includes: If the second forwarding device is not used for performing traffic statistics and quality of service QoS processing on the data message, the second forwarding device receives the second data message of the user terminal; The second forwarding device directly forwards the second data message to a destination device of the second data message.
13. The method according to any one of claims 10 to 12, characterized in that: The network architecture further includes a control device. Before the second forwarding device receives the message forwarded by the first forwarding device through the tunnel, the method further includes: The second forwarding device receives the dialing request broadcast by the user terminal; The second forwarding device sends the dial request to the control device, and receives the user entry information sent by the control device; wherein the user entry information is used to indicate that the second forwarding device is the main forwarding device corresponding to the user terminal.
14. The method according to claim 13, characterized in that The user entry information is determined by the control device according to the media access control MAC address of the user terminal or the number of sessions between the first forwarding device and the second forwarding device.
15. The method according to any one of claims 10 to 12, characterized in that: Before the second forwarding device receives the message forwarded by the first forwarding device through the tunnel, the method further includes: The second forwarding device receives the dialing request broadcast by the user terminal; The second forwarding device obtains user entry information according to the dial request; wherein the user entry information is used to indicate that the second forwarding device is a primary forwarding device corresponding to the user terminal.
16. The method according to claim 15, characterized in that The second forwarding device obtains the user entry information according to the dial request, including: The second forwarding device obtains the user entry information according to the MAC address of the user terminal corresponding to the dial request.
17. The method according to claim 13, characterized in that The user entry information includes first indication information, second indication information, the IP address of the user terminal, and the MAC address of the user terminal; wherein the first indication information is used to indicate that the first forwarding device is a backup forwarding device corresponding to the user terminal, and the second indication information is used to indicate that the second forwarding device is a primary forwarding device corresponding to the user terminal; The user entry information also includes any one or more of the following items: routing information corresponding to the user terminal, quality of service QoS information of the user terminal, and access control list ACL information corresponding to the user terminal.
18. The method according to any one of claims 10 to 12, characterized in that: The tunnel includes any one or more of the following: a direct interface link channel, a label switching channel LSP, a general routing encapsulation GRE channel, and a segment routing SRv6 channel.
19. A message transmission device, characterized in that: The apparatus is applied to a first forwarding device, and includes: a receiving unit and a sending unit; The receiving unit is used to receive a message forwarded by a user terminal in a load sharing manner, wherein the message includes a keep-alive request message; the first forwarding device is a backup forwarding device corresponding to the user terminal, and the backup forwarding device is a forwarding device that is not configured with user routing; The sending unit is used to forward the keep-alive request message to a second forwarding device through a tunnel; the second forwarding device is a main forwarding device corresponding to the user terminal, and the main forwarding device is a forwarding device configured with user routing.
20. The device according to claim 19, characterized in that The message also includes a data message. If the second forwarding device is also used to perform traffic statistics and quality of service QoS processing on the data message, the sending unit is also used to forward the data message to the second forwarding device through the tunnel.
21. The device according to claim 19, characterized in that The message also includes a data message; The sending unit is further used to forward the data message directly to the destination device of the data message if the second forwarding device is not used to perform traffic statistics and quality of service QoS processing on the data message.
22. The device according to any one of claims 19 to 21, characterized in that The receiving unit is further configured to receive a dialing request broadcast by the user terminal before receiving a message forwarded by the user terminal in a load sharing manner; The sending unit is further used to send the dialing request to the control device; The receiving unit is further configured to receive user entry information sent by the control device; wherein the user entry information is used to indicate that the first forwarding device is a backup forwarding device corresponding to the user terminal.
23. The device according to claim 22, characterized in that The user entry information is determined by the control device according to the media access control MAC address of the user terminal or the number of sessions between the first forwarding device and the second forwarding device.
24. The device according to any one of claims 19 to 21, characterized in that The device comprises a processing unit, The receiving unit is further configured to receive a dialing request broadcast by the user terminal before receiving a message forwarded by the user terminal in a load sharing manner; The processing unit is used to obtain user entry information according to the dial request; wherein the user entry information is used to indicate that the first forwarding device is a backup forwarding device corresponding to the user terminal.
25. The device according to claim 24, characterized in that The processing unit is specifically configured to generate the user entry information according to the MAC address of the user terminal corresponding to the dial request.
26. The device according to claim 22, characterized in that The user entry information includes first indication information, second indication information, the IP address of the user terminal, and the MAC address of the user terminal; wherein the first indication information is used to indicate that the first forwarding device is a backup forwarding device corresponding to the user terminal, and the second indication information is used to indicate that the second forwarding device is a primary forwarding device corresponding to the user terminal; The user entry information also includes any one or more of the following items: routing information corresponding to the user terminal, QoS information of the user terminal, and access control list ACL information corresponding to the user terminal.
27. The device according to any one of claims 19 to 21, characterized in that The tunnel includes any one or more of the following: a direct interface link channel, a label switching channel LSP, a general routing encapsulation GRE channel, and a segment routing SRv6 channel.
28. A message transmission device, characterized in that: The apparatus is applied to a second forwarding device and includes: a receiving unit and a processing unit; The receiving unit is used to receive a message forwarded by the first forwarding device through the tunnel, wherein the message includes a keep-alive request message; the second forwarding device is a main forwarding device corresponding to the user terminal, and the main forwarding device is a forwarding device configured with user routing; the first forwarding device is a backup forwarding device corresponding to the user terminal, and the backup forwarding device is a forwarding device not configured with user routing; The processing unit is configured to update the status of the user terminal according to the keep-alive request message.
29. The device according to claim 28, characterized in that The message of the user terminal includes a data message; the device also includes: a sending unit; If the processing unit is also used to perform traffic statistics and quality of service QoS processing on the data message; then the receiving unit is also used to receive the first data message forwarded by the first forwarding device through the tunnel; The receiving unit is further configured to receive a second data message from the user terminal; The sending unit is used to forward the first data packet and the second data packet to a destination device after the processing unit performs traffic statistics and QoS processing on the first data packet and the second data packet.
30. The device according to claim 28, characterized in that The message of the user terminal includes a data message; the device also includes: a sending unit; If the processing unit is not used to perform traffic statistics and quality of service QoS processing on the data message, the receiving unit is further used to receive a second data message from the user terminal; The sending unit is used to directly forward the second data message to the destination device of the second data message.
31. The device according to any one of claims 28 to 30, characterized in that The device further comprises: a sending unit; The receiving unit is further configured to receive a dialing request broadcast by the user terminal before receiving the message forwarded by the first forwarding device through the tunnel; The sending unit is used to send the dial request to the control device; The receiving unit is further configured to receive user entry information sent by the control device; wherein the user entry information is used to indicate that the second forwarding device is a primary forwarding device corresponding to the user terminal.
32. The device according to claim 31, characterized in that The user entry information is determined by the control device according to the media access control MAC address of the user terminal or the number of sessions between the first forwarding device and the second forwarding device.
33. The device according to any one of claims 28 to 30, characterized in that The receiving unit is configured to receive a dialing request broadcast by the user terminal before receiving the message forwarded by the first forwarding device through the tunnel; The processing unit is further configured to obtain user entry information according to the dial request; wherein the user entry information is used to indicate that the second forwarding device is a primary forwarding device corresponding to the user terminal.
34. The device according to claim 33, characterized in that The processing unit is specifically configured to obtain the user entry information according to the MAC address of the user terminal corresponding to the dial request.
35. The device according to claim 31, characterized in that The user entry information includes first indication information, second indication information, the IP address of the user terminal, and the MAC address of the user terminal; wherein the first indication information is used to indicate that the first forwarding device is a backup forwarding device corresponding to the user terminal, and the second indication information is used to indicate that the second forwarding device is a primary forwarding device corresponding to the user terminal; The user entry information also includes any one or more of the following items: routing information corresponding to the user terminal, quality of service QoS information of the user terminal, and access control list ACL information corresponding to the user terminal.
36. The device according to any one of claims 28 to 30, characterized in that The tunnel includes any one or more of the following: a direct interface link channel, a label switching channel LSP, a general routing encapsulation GRE channel, and a segment routing SRv6 channel.
37. A message transmission device, characterized in that: The message transmission device comprises: one or more processors; A memory for storing one or more computer programs, wherein the one or more computer programs include instructions; when the instructions are executed by the one or more processors, the message transmission device executes the message transmission method as described in any one of claims 1-9; or, the message transmission device executes the message transmission method as described in any one of claims 10-18.
38. A message transmission system, characterized in that: It includes a user terminal, a first forwarding device and a second forwarding device; wherein a tunnel is set between the first forwarding device and the second forwarding device; the message of the user terminal is forwarded to the first forwarding device and the second forwarding device by load sharing; the first forwarding device executes the message transmission method as described in any one of claims 1-9; the second forwarding device executes the message transmission method as described in any one of claims 10-18.
39. A computer-readable storage medium, characterized in that: The method comprises computer instructions, which, when executed on a device, cause the device to execute the message transmission method as described in any one of claims 1 to 9; or cause the device to execute the message transmission method as described in any one of claims 10 to 18.
40. A computer program product, characterized in that When the computer program product runs on a computer, the computer is enabled to execute the message transmission method according to any one of claims 1 to 9; or, the computer is enabled to execute the message transmission method according to any one of claims 10 to 18.
Citation Information
Patent Citations
Flow forwarding method and device
CN109194521A
A traffic forwarding method and a traffic forwarding device
CN109698788A