Method, apparatus, system and storage medium for transmitting multicast service

CN116806011BActive Publication Date: 2026-10-16HUAWEI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210273189.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-03-18
Publication Date
2026-10-16
Estimated Expiration
2042-03-18

AI Technical Summary

Technical Problem

但是,如果该UP设备出现故障,则会导致无法向终端转发该组播业务

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116806011B_ABST
    Figure CN116806011B_ABST
Patent Text Reader

Abstract

The application discloses a method, device and system for sending multicast service and a storage medium, and belongs to the field of communication. The method comprises the following steps: a first UP device receives a migration instruction, wherein the migration instruction is used for indicating that a first terminal is migrated to the first UP device, and the first terminal is a terminal that is online on a second UP device; the first UP device sends a query request to the first terminal based on the migration instruction; the first UP device receives a query response that is sent by the first terminal based on the query request, wherein the query response comprises multicast information corresponding to the first terminal; and the first UP device forwards multicast service to the first terminal based on the multicast information. The application ensures that multicast service can be forwarded to a terminal.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communications, and in particular to a method, apparatus, system, and storage medium for transmitting multicast services. Background Technology

[0002] A broadband gateway access system employing a control plane (CP) and user plane (UP) separation scheme typically includes a CP device and multiple UP devices. The CP device can manage these multiple UP devices.

[0003] In this system, after authenticating the terminal through the Remote Authentication Dial in User Service (RADIUS) server, the CP device can control the terminal to connect to the network from a specific UP device. That is, the UP device can forward services belonging to the terminal to connect the terminal to the network.

[0004] Terminals can use this UP device to join a multicast group, and the UP device will forward multicast services from the multicast source corresponding to that multicast group to the terminal. However, if the UP device malfunctions, it will be unable to forward the multicast services to the terminal. Summary of the Invention

[0005] This application provides a method, apparatus, system, and storage medium for transmitting multicast services to ensure that multicast services can be forwarded to terminals. The technical solution is as follows:

[0006] Firstly, this application provides a method for sending multicast services. The method is applied to a first user plane UP device in a Virtual Broadband Access Gateway (vBNG) system, which also includes a second UP device. In the method, the first UP device receives a migration instruction to instruct a first terminal to be migrated to the first UP device. The first terminal is a terminal that has been online on the second UP device. Based on the migration instruction, the first UP device sends a query request to the first terminal. The first UP device receives a query response from the first terminal based on the query request, the query response including multicast information corresponding to the first terminal. Based on the multicast information, the first UP device forwards multicast services to the first terminal.

[0007] When the first UP device receives a migration instruction instructing the migration of the first terminal, it sends a query request to the first terminal based on the migration instruction and receives a query response from the first terminal based on the query request. This query response includes the multicast information corresponding to the first terminal. In other words, the first UP device proactively queries the multicast information corresponding to the multicast group the first terminal has joined based on the migration instruction and the query request. Upon finding the multicast information, it forwards multicast services to the first terminal based on this information, thereby automatically restoring multicast services and ensuring normal forwarding of multicast services to the first terminal.

[0008] In one possible implementation, the multicast information is the multicast information corresponding to the first multicast source, and the multicast group corresponding to the first multicast source is the multicast group joined by the first terminal. Since the multicast group corresponding to the first multicast source is the multicast group joined by the first terminal, the multicast service forwarded by the first UP device to the first terminal based on the multicast information is the service already requested by the first terminal, ensuring automatic recovery of the multicast service already requested by the first terminal.

[0009] In another possible implementation, the multicast information includes the multicast address of the first multicast source.

[0010] In another possible implementation, the first UP device obtains first user entry information based on the migration instruction. This first user entry information is used to transmit the services of the first terminal. Since the first UP device obtains the first user entry information, it can ensure successful forwarding of multicast services to the first terminal based on this information.

[0011] In another possible implementation, the migration command includes: the device identifier of the second UP device, the interface identifier of the first interface, or the virtual media access control (MAC) address of the first interface, where the first interface is the interface through which the first terminal came online on the second UP device. In this way, the first UP device can obtain the first user entry information based on the device identifier of the second UP device, the interface identifier of the first interface, or the virtual MAC address of the first interface. Therefore, when the CP device needs to migrate a terminal on the second UP device, it does not need to obtain the user entry information but can directly send a migration command to the first UP device. Since this migration command does not include user entry information, it can be sent quickly and network resource consumption can be reduced.

[0012] In another possible implementation, the migration instruction includes first user entry information, which is used to transmit the services of the first terminal. Since the migration instruction includes the first user entry information, it facilitates the first UP device in obtaining the first user entry information, simplifying the algorithm implementation complexity.

[0013] In another possible implementation, the first UP device receives a migration command sent by the CP device.

[0014] In another possible implementation, both the query request and the query response are based on messages encapsulated by the Internet Group Management Protocol (IGMP), or both the query request and the query response are based on messages encapsulated by the Multicast Listener Discovery Protocol (MLD).

[0015] In another possible implementation, the first UP device and the second UP device are located in the same power supply group, or the first UP device and the second UP device are located in different power supply groups, and the power supply group includes multiple UP devices.

[0016] In the case where the first UP device and the second UP device are located in different power supply groups, when the power supply group where the second UP device is located loses power, since the first UP device and the second UP device belong to different power supply groups, the power supply group where the first UP device is located does not lose power. In this way, the first terminal is migrated to the first UP device, ensuring that the first terminal can go online from the first UP device.

[0017] Secondly, this application provides a method for sending multicast services. The method is applied to a first user plane UP device in a Virtual Broadband Access Gateway (vBNG) system, which further includes a second UP device. In the method, the first UP device receives multicast information corresponding to a first terminal sent by the second UP device. The first terminal is a terminal that has come online on the second UP device. The first UP device receives a migration instruction, which instructs the first terminal to be migrated to the first UP device. Based on the multicast information and the migration instruction, the first UP device forwards multicast services to the first terminal.

[0018] Since the first UP device receives the multicast information corresponding to the first terminal sent by the second UP device, when the first UP device receives the migration instruction for instructing the migration of the first terminal, the first UP device forwards the multicast service to the first terminal based on the migration instruction and the multicast information. That is, the UP device that the terminal comes online actively sends the multicast information corresponding to the terminal to other UP devices, so that when the UP device fails, other UP devices can automatically restore the multicast service and ensure that the multicast service can be forwarded to the first terminal normally.

[0019] In one possible implementation, the first UP device obtains first user entry information based on a migration command. This first user entry information is used to transmit the services of the first terminal. Thus, the multicast services forwarded by the first UP device to the first terminal based on this multicast information are the services already requested by the first terminal, ensuring the restoration of the multicast services already requested by the first terminal.

[0020] In another possible implementation, the migration command includes: the device identifier of the second UP device, the interface identifier of the first interface, or the virtual media access control (MAC) address of the first interface, where the first interface is the interface through which the first terminal came online on the second UP device. In this way, the first UP device can obtain the first user entry information based on the device identifier of the second UP device, the interface identifier of the first interface, or the virtual MAC address of the first interface. Therefore, when the CP device needs to migrate a terminal on the second UP device, it does not need to obtain the user entry information but can directly send a migration command to the first UP device. Since this migration command does not include user entry information, it can be sent quickly and network resource consumption can be reduced.

[0021] In another possible implementation, the migration instruction includes first user entry information, which is used to transmit the services of the first terminal. Since the migration instruction includes the first user entry information, it facilitates the first UP device in obtaining the first user entry information, simplifying the algorithm implementation complexity.

[0022] In another possible implementation, the first UP device sends multicast information corresponding to the second terminal, which is a terminal that came online on the first UP device, to the second UP device. This allows the second UP device to easily send multicast services to the second terminal based on the multicast information, thus restoring the multicast service of the second terminal.

[0023] In another possible implementation, the first UP device and the second UP device are located in the same power supply group, or the first UP device and the second UP device are located in different power supply groups, and the power supply group includes multiple UP devices.

[0024] In the case where the first UP device and the second UP device are located in different power supply groups, when the power supply group where the second UP device is located loses power, since the first UP device and the second UP device belong to different power supply groups, the power supply group where the first UP device is located does not lose power. In this way, the first terminal is migrated to the first UP device, ensuring that it can go online from the first UP device.

[0025] In another possible implementation, the second UP device includes a first interface, which is the interface through which the first terminal comes online. The first UP device also includes a second interface, which is the interface through which the first terminal comes online after it has migrated to the first UP device. The first interface and the second interface are two interfaces in the same warm backup group.

[0026] In another possible implementation, in the warm backup group, the second interface is a backup interface of the first interface for the first virtual MAC address, where the first virtual MAC address is the address of the first interface and corresponds to the first terminal. This precise binding of the first virtual MAC address to the second interface makes the backup relationship in the warm backup group controllable, facilitating a smooth switch of forwarding behavior.

[0027] In another possible implementation, the multicast information is the multicast information corresponding to the first multicast source, and the multicast group corresponding to the first multicast source is the multicast group joined by the first terminal. In this way, the multicast service forwarded by the first UP device to the first terminal based on this multicast information is the service already requested by the first terminal, ensuring the restoration of the multicast service already requested by the first terminal.

[0028] In another possible implementation, the multicast information of the first multicast source includes the multicast address of the first multicast source.

[0029] Thirdly, this application provides a method for sending multicast services. The method is applied to a Virtual Broadband Access Gateway (vBNG) system, which includes a CP device, a first User Plane Up (UP) device, and a second UP device. In the method, the second UP device sends multicast information corresponding to a first terminal, which is a terminal that has come online on the second UP device, to the first UP device. Based on a failure of the second UP device, the CP device sends a migration instruction to the first UP device, instructing the first terminal to be migrated to the first UP device. The first UP device then forwards the multicast service to the first terminal based on the multicast information and the migration instruction.

[0030] Since the second UP device sends the multicast information corresponding to the first terminal to the first UP device, when the first UP device receives the migration instruction sent by the CP device to indicate the migration of the first terminal, the first UP device forwards the multicast service to the first terminal based on the migration instruction and the multicast information. That is, the UP device that the terminal comes online actively sends the multicast information corresponding to the terminal to other UP devices. Thus, when the UP device fails, other UP devices can automatically restore the multicast service and ensure that they can forward the multicast service to the first terminal normally.

[0031] In one possible implementation, the second UP device sends multicast information corresponding to the first terminal to the third UP device. This allows the third UP device to send multicast services to the first terminal based on this multicast information, thus restoring the multicast services of the first terminal.

[0032] In another possible implementation, the first UP device, the second UP device, and the third UP device are devices in the same warm backup group.

[0033] In another possible implementation, the multicast information is the multicast information corresponding to the first multicast source, and the multicast group corresponding to the first multicast source is the multicast group joined by the first terminal. In this way, the multicast service forwarded by the first UP device to the first terminal based on the multicast information is the service already requested by the first terminal, ensuring the restoration of the multicast service already requested by the first terminal.

[0034] In another possible implementation, the multicast information of the first multicast source includes the multicast address of the first multicast source.

[0035] Fourthly, this application provides an apparatus for transmitting multicast services. The apparatus is applied in a Virtual Broadband Access Gateway (vBNG) system, the vBNG system including the apparatus and a second User Plane Up device. The apparatus includes a receiving unit and a transmitting unit.

[0036] The device includes a receiving unit for receiving a migration instruction, which instructs the migration of a first terminal to the device. The first terminal is a terminal that has been online on the second UP device. A sending unit is used to send a query request to the first terminal based on the migration instruction. The receiving unit is also used to receive a query response sent by the first terminal based on the query request, the query response including multicast information corresponding to the first terminal. The sending unit is further used to forward multicast services to the first terminal based on the multicast information.

[0037] When the receiving unit receives a migration instruction instructing the migration of the first terminal, the sending unit sends a query request to the first terminal based on the migration instruction. The receiving unit then receives a query response from the first terminal based on the query request, which includes multicast information corresponding to the first terminal. In other words, the sending unit proactively queries the multicast information corresponding to the multicast group the first terminal has joined based on the migration instruction and the query request. Upon finding the multicast information, the sending unit forwards the multicast service to the first terminal based on this information, thereby automatically restoring the multicast service and ensuring normal forwarding of multicast services to the first terminal.

[0038] In one possible implementation, the multicast information is the multicast information corresponding to the first multicast source, and the multicast group corresponding to the first multicast source is the multicast group joined by the first terminal. Since the multicast group corresponding to the first multicast source is the multicast group joined by the first terminal, the multicast service forwarded by the sending unit to the first terminal based on the multicast information is the service already requested by the first terminal, ensuring automatic recovery of the multicast service already requested by the first terminal.

[0039] In another possible implementation, the multicast information includes the multicast address of the first multicast source.

[0040] In another possible implementation, the apparatus further includes a processing unit. The processing unit is configured to acquire first user entry information based on the migration instruction. This first user entry information is used to transmit services from the first terminal. Because the processing unit acquires the first user entry information, the sending unit, based on this information, ensures successful forwarding of multicast services to the first terminal.

[0041] In another possible implementation, the migration instruction includes: the device identifier of the second UP device, the interface identifier of the first interface, or the virtual media access control (MAC) address of the first interface, where the first interface is the interface through which the first terminal comes online on the second UP device. Thus, the processing unit can obtain the first user entry information based on the device identifier of the second UP device, the interface identifier of the first interface, or the virtual MAC address of the first interface. Therefore, when the CP device needs to migrate a terminal on the second UP device, it does not need to obtain the user entry information but can directly send a migration instruction to the device. Since the migration instruction does not include user entry information, it can be sent quickly and network resource consumption can be reduced.

[0042] In another possible implementation, the migration instruction includes first user entry information, which is used to transmit the services of the first terminal. Since the migration instruction includes the first user entry information, the device can easily obtain the first user entry information, simplifying the algorithm implementation complexity.

[0043] In another possible implementation, a receiving unit is used to receive migration instructions sent by the CP device.

[0044] In another possible implementation, both the query request and the query response are based on messages encapsulated by the Internet Group Management Protocol (IGMP), or both the query request and the query response are based on messages encapsulated by the Multicast Listener Discovery Protocol (MLD).

[0045] In another possible implementation, the device and the second UP device are located in the same power supply group, or the device and the second UP device are located in different power supply groups, and the power supply group includes multiple UP devices.

[0046] In cases where the device and the second UP device are located in different power supply groups, when the power supply group where the second UP device is located loses power, since the device and the second UP device belong to different power supply groups, the power supply group where the device is located does not lose power. In this way, the first terminal is migrated to the device, ensuring that the first terminal can go online from the device.

[0047] Fifthly, this application provides an apparatus for transmitting multicast services, the apparatus being applied in a Virtual Broadband Access Gateway (vBNG) system, the vBNG system including the apparatus and a second User Plane Up device, the apparatus including: a receiving unit and a transmitting unit.

[0048] The receiving unit is configured to receive multicast information corresponding to a first terminal sent by the second UP device, wherein the first terminal is a terminal that has come online on the second UP device. The receiving unit is also configured to receive a migration instruction, which instructs the first terminal to be migrated to the device. The sending unit is configured to forward multicast services to the first terminal based on the multicast information and the migration instruction.

[0049] Since the receiving unit receives the multicast information corresponding to the first terminal sent by the second UP device, when the receiving unit receives the migration instruction for instructing the migration of the first terminal, the sending unit forwards the multicast service to the first terminal based on the migration instruction and the multicast information. That is, the UP device that the terminal comes online actively sends the multicast information corresponding to the terminal to other UP devices, so that when the UP device fails, other UP devices can automatically restore the multicast service and ensure that the multicast service can be forwarded to the first terminal normally.

[0050] In one possible implementation, the apparatus further includes a processing unit. The processing unit is configured to acquire first user entry information based on the migration instruction, the first user entry information being used to transmit services of the first terminal. Thus, the multicast service forwarded by the sending unit to the first terminal based on the multicast information is the service already requested by the first terminal, ensuring the recovery of the multicast service already requested by the first terminal.

[0051] In another possible implementation, the migration instruction includes: the device identifier of the second UP device, the interface identifier of the first interface, or the virtual media access control (MAC) address of the first interface, where the first interface is the interface through which the first terminal comes online on the second UP device. Thus, the processing unit can obtain the first user entry information based on the device identifier of the second UP device, the interface identifier of the first interface, or the virtual MAC address of the first interface. Therefore, when the CP device needs to migrate a terminal on the second UP device, it does not need to obtain the user entry information but can directly send a migration instruction to the device. Since the migration instruction does not include user entry information, it can be sent quickly and network resource consumption can be reduced.

[0052] In another possible implementation, the migration instruction includes first user entry information, which is used to transmit the services of the first terminal. Since the migration instruction includes the first user entry information, the device can easily obtain the first user entry information, simplifying the algorithm implementation complexity.

[0053] In another possible implementation, the sending unit is further configured to send multicast information corresponding to the second terminal to the second UP device, where the second terminal is a terminal that has come online on the device. This allows the second UP device to send multicast services to the second terminal based on the multicast information, thus restoring the multicast services of the second terminal when the second terminal is migrated to the second UP device.

[0054] In another possible implementation, the device and the second UP device are located in the same power supply group, or the device and the second UP device are located in different power supply groups, and the power supply group includes multiple UP devices.

[0055] In cases where the device and the second UP device are located in different power supply groups, when the power supply group where the second UP device is located loses power, since the device and the second UP device belong to different power supply groups, the power supply group where the device is located does not lose power. In this way, the first terminal is migrated to the device, ensuring that it can go online from the device.

[0056] In another possible implementation, the second UP device includes a first interface, which is the interface through which the first terminal comes online, and the device includes a second interface, which is the interface through which the first terminal comes online after it has migrated to the device. The first interface and the second interface are two interfaces in the same temperature backup group.

[0057] In another possible implementation, in the warm backup group, the second interface is a backup interface of the first interface for the first virtual MAC address, where the first virtual MAC address is the address of the first interface and corresponds to the first terminal. This precise binding of the first virtual MAC address to the second interface makes the backup relationship in the warm backup group controllable, facilitating a smooth switch of forwarding behavior.

[0058] In another possible implementation, the multicast information is the multicast information corresponding to the first multicast source, and the multicast group corresponding to the first multicast source is the multicast group that the first terminal has joined. In this way, the multicast service forwarded by the sending unit to the first terminal based on the multicast information is the service that the first terminal has already requested, ensuring the restoration of the multicast service that the first terminal has already requested.

[0059] In another possible implementation, the multicast information of the first multicast source includes the multicast address of the first multicast source.

[0060] Sixthly, this application provides an apparatus for transmitting multicast services, the apparatus including a processor and a memory. The processor and the memory are internally connected. The memory stores a program, and the processor executes the program in the memory, causing the apparatus to perform the method of the first aspect or any possible implementation thereof.

[0061] In a seventh aspect, this application provides an apparatus for transmitting multicast services, the apparatus comprising a processor and a memory. The processor and the memory are interconnected via an internal connection. The memory stores a program, and the processor executes the program in the memory, causing the apparatus to perform the method of the second aspect or any possible implementation thereof.

[0062] Eighthly, this application provides an apparatus for transmitting multicast services, the apparatus being applied in a Virtual Broadband Access Gateway (vBNG) system, the vBNG system including the apparatus and a second UP device, the apparatus including: a main control board and an interface board. The main control board includes: a first processor and a first memory. The interface board includes: a second processor, a second memory, and an interface card. The main control board and the interface board are coupled.

[0063] The first memory can be used to store program code, and the first processor is used to call the program code in the first memory to perform the following operations: receiving a migration instruction, the migration instruction being used to instruct the first terminal to be migrated to the device, the first terminal being a terminal that is online on the second UP device sending a query request to the first terminal based on the migration instruction; receiving a query response sent by the first terminal based on the query request, the query response including multicast information corresponding to the first terminal.

[0064] The second memory can be used to store program code, and the second processor is used to call the program code in the second memory to trigger the interface card to perform the following operation: based on the multicast information, forward the multicast service to the first terminal.

[0065] In one possible implementation, an inter-process communication (IPC) channel is established between the main control board and the interface board, and the main control board and the interface board communicate with each other through the IPC channel.

[0066] Ninthly, this application provides an apparatus for transmitting multicast services, the apparatus being applied in a Virtual Broadband Access Gateway (vBNG) system, the vBNG system including the apparatus and a second UP device, the apparatus including: a main control board and an interface board. The main control board includes: a first processor and a first memory. The interface board includes: a second processor, a second memory, and an interface card. The main control board and the interface board are coupled.

[0067] The first memory can be used to store program code, and the first processor is used to call the program code in the first memory to perform the following operations: receive multicast information corresponding to a first terminal sent by the second UP device, wherein the first terminal is a terminal that has come online on the second UP device; receive a migration instruction, wherein the migration instruction is used to instruct the first terminal to be migrated to the device.

[0068] The second memory can be used to store program code, and the second processor is used to call the program code in the second memory to trigger the interface card to perform the following operation: based on the multicast information and the migration instruction, forward the multicast service to the first terminal.

[0069] In one possible implementation, an inter-process communication (IPC) channel is established between the main control board and the interface board, and the main control board and the interface board communicate with each other through the IPC channel.

[0070] In a tenth aspect, this application provides a computer program product comprising a computer program stored in a computer-readable storage medium, wherein the computer program is loaded by a processor to implement the first aspect, the second aspect, any possible implementation of the first aspect, or any possible implementation of the second aspect.

[0071] In one aspect, this application provides a computer-readable storage medium for storing a computer program, which is loaded by a processor to execute the methods described in the first aspect, the second aspect, any possible implementation of the first aspect, or any possible implementation of the second aspect.

[0072] In a twelfth aspect, this application provides a chip including a memory and a processor, wherein the memory is used to store computer instructions, and the processor is used to call and execute the computer instructions from the memory to perform the methods described in the first aspect, the second aspect, any possible implementation of the first aspect, or any possible implementation of the second aspect.

[0073] Thirteenthly, this application provides a Virtual Broadband Access Gateway (vBNG) system, which includes a CP device, a first user plane UP device, and a second UP device. In this system, the second UP device sends multicast information corresponding to a first terminal, which is a terminal that has come online on the second UP device, to the first UP device. Based on a failure of the second UP device, the CP device sends a migration instruction to the first UP device, instructing the first terminal to be migrated to the first UP device. The first UP device forwards multicast services to the first terminal based on the multicast information and the migration instruction.

[0074] Since the second UP device sends the multicast information corresponding to the first terminal to the first UP device, when the first UP device receives the migration instruction sent by the CP device to indicate the migration of the first terminal, the first UP device forwards the multicast service to the first terminal based on the migration instruction and the multicast information, thereby automatically restoring the multicast service and ensuring that the multicast service can be forwarded to the first terminal normally.

[0075] In one possible implementation, the second UP device sends multicast information corresponding to the first terminal to the third UP device. This allows the third UP device to send multicast services to the first terminal based on this multicast information, thus restoring the multicast services of the first terminal.

[0076] In another possible implementation, the first UP device, the second UP device, and the third UP device are devices in the same warm backup group.

[0077] In another possible implementation, the multicast information is the multicast information corresponding to the first multicast source, and the multicast group corresponding to the first multicast source is the multicast group joined by the first terminal. In this way, the multicast service forwarded by the first UP device to the first terminal based on the multicast information is the service already requested by the first terminal, ensuring the restoration of the multicast service already requested by the first terminal.

[0078] In another possible implementation, the multicast information of the first multicast source includes the multicast address of the first multicast source. Attached Figure Description

[0079] Figure 1 This is a schematic diagram of the structure of a vBNG system provided in an embodiment of this application;

[0080] Figure 2 This is a schematic diagram of another vBNG system provided in an embodiment of this application;

[0081] Figure 3 This is a flowchart of a terminal online method provided in an embodiment of this application;

[0082] Figure 4 This is a flowchart of a method for sending multicast services provided in an embodiment of this application;

[0083] Figure 5 This is a schematic diagram of a migration terminal provided in an embodiment of this application;

[0084] Figure 6 This is a flowchart of another method for sending multicast services provided in an embodiment of this application;

[0085] Figure 7 This is a schematic diagram of a device structure for transmitting multicast services provided in an embodiment of this application;

[0086] Figure 8 This is a schematic diagram of another device structure for transmitting multicast services provided in an embodiment of this application;

[0087] Figure 9 This is a schematic diagram of a system architecture for sending multicast services provided in an embodiment of this application;

[0088] Figure 10 This is a schematic diagram of another device structure for transmitting multicast services provided in an embodiment of this application;

[0089] Figure 11 This is a schematic diagram of another device structure for transmitting multicast services provided in an embodiment of this application;

[0090] Figure 12 This is a schematic diagram of a device structure for transmitting multicast services provided in an embodiment of this application;

[0091] Figure 13 This is a schematic diagram of another device structure for sending multicast services provided in an embodiment of this application. Detailed Implementation

[0092] The embodiments of this application will now be described in further detail with reference to the accompanying drawings.

[0093] A Broadband Remote Access Server (BRAS) is an access gateway for broadband network applications, also known as a Broadband Network Gateway (BNG). A Virtual BNG (vBNG) is one implementation of a BRAS, deployed with separate CP (Content Provider) and UP (User Provider) devices (CU separation), hence it can also be called a CU-separated BRAS. Multiple UP devices are deployed distributed across the network, each acting as the user plane of the BNG (or vBNG). This UP device forwards service packets based on user entries issued by the CP devices and implements traffic policies based on technologies such as Quality of Service (QoS) and Access Control Lists (ACLs). The CP device can be implemented using cloud technology and centrally deployed, acting as the control plane of the BNG (or vBNG). This control plane manages and controls terminals (also known as users) and provides unified management of multiple UP devices. For example, the CP device is primarily responsible for terminal online access, configuration distribution, and user entry information. In this context, the UP device can also be called a forwarding plane device; therefore, CU separation can also be called forwarding and control separation, or forwarding-control separation. Systems deployed using this CU separation method are also called CU-separated broadband gateway access systems, or forwarding-control separated broadband gateway access systems.

[0094] See Figure 1 This application provides a schematic diagram of the structure of a vBNG system 100. (See attached diagram.) Figure 1 As shown, the vBNG system 100 may include: at least one CP device 101 and multiple UP devices 102 (e.g., ...). Figure 1 (First UP device 1021 and second UP device 1022 in the middle).

[0095] "At least one" refers to one or more, and "multiple" refers to two or more. Figure 1 The following diagram illustrates a single CP device 101. This CP device 101 is typically deployed in a carrier's data center (DC) room, also known as a core data center. The various UP devices 102 can be distributed across different aggregation data centers, also known as edge data centers. Each UP device 102 establishes a communication connection with the CP device 101, and each UP device 102 can establish a communication connection with at least one terminal 104 through a first forwarding device 103 (e.g., a forwarding device in a Layer 2 broadcast domain) and perform data exchange.

[0096] For each UP device 102, the UP device 102 establishes a communication connection with the second forwarding device 105 and performs data interaction with the second forwarding device 105. For example, for the multicast source 106 corresponding to the multicast group joined by the terminal 104, the second forwarding device 105 can forward the multicast service of the multicast source 106 to the UP device 102, and the UP device 102 receives the multicast service and forwards the multicast service to the terminal 104.

[0097] In some embodiments, terminal 104 is also referred to as user equipment, which may be a residential gateway (RGW), mobile phone, laptop computer, or desktop computer. The first forwarding device 103 connected to terminal 104 may also be referred to as access node (AN), which may be a switch (SW), optical line terminal (OLT), or digital subscriber line access multiplexer (DSLAM), etc.

[0098] In some embodiments, the first forwarding device 103 can not only forward packets in the Layer 2 broadcast domain, but also isolate the terminal 104 using a Virtual Extensible Local Area Network (VXLAN) or QinQ. QinQ (802.1Q-in-802.1Q) is a technology for extending the space of a Virtual Local Area Network (VLAN), also known as stacked VLAN technology.

[0099] In some embodiments, for a second forwarding device 105 communicating with UP device 102, the second forwarding device 105 is closer to the multicast source 106 than UP device 102. Optionally, the second forwarding device 105 is a core router (CR) or a leaf node, etc.

[0100] Continue to refer to Figure 1 The vBNG system 100 may also include an authentication server 107. The authentication server 107 may be a RADIUS server. The authentication server 107 supports authentication, authorization, and accounting (AAA) protocols. Figure 1As shown, the authentication server 107 establishes a communication connection with the CP device 101. After the CP device 101 completes the interaction with the terminal 104 through the target UP device among the multiple UP devices 102 via dialing protocol messages (also known as access protocol messages), it sends an authentication request for the terminal 104 to the authentication server 107.

[0101] The authentication server 107 authenticates the terminal 104. After successful authentication, the server assigns an address to the terminal 104 and sends an authentication response carrying that address to the CP device 101. Upon receiving the authentication response, the CP device 101 can send the user entry information of the terminal 104 to the target UP device. Based on this user entry information, the target UP device can generate a forwarding table entry for the terminal 104 locally, perform relevant service policy execution and traffic forwarding, and publish the route for the terminal 104. The terminal 104 can then access the network through the target UP device. In other words, the terminal 104 can access the network through the target UP device, or it can be understood that the terminal 104 can go online from the target UP device.

[0102] In this embodiment, the CP device 101 may include multiple virtual machines (VMs) deployed on a physical server. Each UP device 102 may be a physical UP (pUP) device or a virtual UP (vUP) device; for example, the UP device 102 may be a VM deployed on a physical server. The CP device 101 is capable of managing multiple pUP devices and / or multiple vUP devices.

[0103] The CP device 101 and each UP device 102 can be connected via a service interface, a management interface, and a control interface. The service interface, also known as the control packet redirect interface (CPRi), is typically a VXLAN interface, such as a VXLAN generic protocol extension (VXLAN-GPE) interface. After receiving packets (such as access protocol packets and service packets) from the terminal 104, the UP device 102 can forward them to the CP device 101 for processing via this service interface.

[0104] The management interface (Mi) is generally a network configuration protocol (NETCONF) interface. CP device 101 can use this management interface to send configurations to each UP device 102, and each UP device 102 can use this management interface to report its operating status to CP device 101.

[0105] This control interface, also known as the state control interface (SCi), is typically a control plane and user plane separated protocol (CUSP) interface. After CP device 101 processes the access protocol message sent by terminal 104 and completes the online connection of terminal 104, it can use this control interface to send the user table entry information corresponding to terminal 104 to the corresponding UP device 102. The user table entry information corresponding to terminal 104, also known as the session entry, generally includes user information, virtual MAC address, routing information, and Quality of Service (QoS) information for terminal 104. This user information includes the address and / or user account information of terminal 104, and the virtual MAC address is the address of a certain interface on UP device 102, from which terminal 104 connects.

[0106] In a broadband gateway access system with separate CUs, the various UP devices 102 managed by the CP device 101 can form a UP pool. Furthermore, to improve the reliability of the broadband remote access system, for any UP device 102, an N+1 warm backup group can be configured for each interface on that UP device 102. Here, N is an integer greater than or equal to 1, and the N+1 warm backup group indicates that the interface corresponds to N backup interfaces and N backup UP devices, with each of the N backup interfaces and N backup UP devices located on one of them. Additionally, N is an integer greater than or equal to 1, and the warm backup group indicates that the CP device 101 can migrate terminals that come online from this interface to a backup interface on at least one backup UP device, where the N backup UP devices include the at least one backup UP device.

[0107] When the UP device 102 fails, for ease of explanation, any interface on the UP device 102 will be referred to as the first interface; or, when a certain interface of the UP device 102 fails, for ease of explanation, the failed interface will be referred to as the first interface. The CP device 101 can migrate multiple terminals 104 that have come online from the first interface to at least one backup UP device corresponding to the first interface through a load-sharing strategy, so that the at least one backup UP device can use its respective backup interface to forward the services of the multiple terminals.

[0108] For example, see Figure 2 The UP devices 102 in the vBNG system 100 include UP device 1, UP device 2, UP device 3, and UP device 4. Assume that interface 21 on UP device 2 has a corresponding 3+1 warm backup group, which represents three backup interfaces corresponding to interface 21. These three backup interfaces are interface 11 on UP device 1, interface 31 on UP device 3, and interface 41 on UP device 4. Also assume that interface 22 in UP device 2 has a corresponding 2+1 warm backup group, which indicates two backup interfaces corresponding to interface 22. These two backup interfaces are interface 12 on UP device 1 and interface 32 on UP device 3.

[0109] Assuming UP device 2 fails, for interface 21 on UP device 2, CP device 101 will migrate multiple terminals 104 that have come online on interface 21 to UP device 1, UP device 3, and / or UP device 4 through a load-sharing strategy. Thus, for at least one terminal migrated to UP device 1, UP device 1 will forward the service of that terminal through interface 11; for at least one terminal migrated to UP device 3, UP device 3 will forward the service of that terminal through interface 31; and / or, for at least one terminal migrated to UP device 4, UP device 4 will forward the service of that terminal through interface 41.

[0110] For interface 22 on UP device 2, CP device 101 will migrate multiple terminals 104 that have come online on interface 22 to UP device 1 and / or UP device 3 through a load balancing strategy. Thus, for at least one terminal that has migrated to UP device 1, UP device 1 will forward the service of the at least one terminal through interface 12; for at least one terminal that has migrated to UP device 3, UP device 3 will receive the service of the at least one terminal that has been forwarded by CP device 101 through interface 32.

[0111] In some embodiments, the CP device stores a first correspondence relationship, which is used to store the correspondence between master device information and backup device information. The master device information includes the device identifier of a UP device and the interface identifier of an interface on the UP device. The backup device information includes the device identifiers of N backup UP devices corresponding to the interface and the interface identifiers of the backup interfaces on the N backup UP devices corresponding to the interface.

[0112] For example, referring to the first correspondence shown in Table 1 below, the first record of the first correspondence (record number 1) includes primary device information and backup device information. The primary device information includes the device identifier Device2 of UP device 2 and the interface identifier Interface21 of interface 21. The backup device information includes the device identifier Device1 of the backup UP device (UP device 1) corresponding to interface 21 and the interface identifier Interface11 of the backup interface (interface 11), the device identifier Device3 of the backup UP device (UP device 3) corresponding to interface 21 and the interface identifier Interface31 of the backup interface (interface 31), and the device identifier Device4 of the backup UP device (UP device 4) corresponding to interface 21 and the interface identifier Interface41 of the backup interface (interface 41).

[0113] The second record (record number 2) of the first correspondence includes primary device information and backup device information. The primary device information includes the device identifier Device2 of UP device 2 and the interface identifier Interface22 of interface 22. The backup device information includes the device identifier Device1 of the backup UP device (UP device 1) corresponding to interface 22 and the interface identifier Interface12 of the backup interface (interface 12). The backup UP device (UP device 3) corresponding to interface 22 has the device identifier Device3 and the interface identifier 32 of the backup interface (interface 32).

[0114] Table 1

[0115]

[0116] In some embodiments, the UP device stores a second correspondence relationship, which is used to store interface identifiers and backup device information. For any record in the second correspondence relationship, the record includes the interface identifier of an interface on the UP device and backup device information. The backup device information includes the device identifiers of N backup UP devices corresponding to the interface and the interface identifiers of the backup interfaces on the N backup UP devices corresponding to the interface.

[0117] For example, referring to Table 2 below, UP device 2 stores a second correspondence. The first record of the second correspondence (the record with the sequence number 1) includes the interface identifier Interface21 of interface 21 of UP device 2 and backup device information. The backup device information includes the device identifier Device1 of the backup UP device (UP device 1) corresponding to interface 21 and the interface identifier Interface11 of the backup interface (interface 11), the device identifier Device3 of the backup UP device (UP device 3) corresponding to interface 21 and the interface identifier Interface31 of the backup interface (interface 31), and the device identifier Device4 of the backup UP device (UP device 4) corresponding to interface 21 and the interface identifier Interface41 of the backup interface (interface 41).

[0118] The second record in the second correspondence (record number 2) includes the interface identifier Interface22 of interface 22 of UP device 2 and backup device information. The backup device information includes the device identifier Device1 of the backup UP device (UP device 1) corresponding to interface 22 and the interface identifier Interface12 of the backup interface (interface 12), and the device identifier Device3 of the backup UP device (UP device 3) corresponding to interface 22 and the interface identifier 32 of the backup interface (interface 32).

[0119] Table 2

[0120]

[0121] In some embodiments, for each UP device 102 in the vBNG system 100, one or more virtual MAC addresses can be configured for one interface on the UP device 102 (i.e., the interface used for terminal 104 to come online). Terminals coming online from this interface are divided into multiple user groups, each user group corresponding to a virtual MAC address. For any user group and its corresponding virtual MAC address, the terminals included in that user group use the virtual MAC address to interact with the UP device 102. When migrating a terminal 104 coming online from this interface to another UP device, the CP device 101 can perform the migration at the granularity of the virtual MAC address of that interface. That is, for any virtual MAC address of this interface, the CP device 101 can migrate the user group corresponding to that virtual MAC address from this interface to a backup UP device corresponding to that interface.

[0122] For example, still using Figure 2For example, for the 3+1 warm backup group corresponding to interface 21 on UP device 2, virtual MAC address 1, virtual MAC address 2, and virtual MAC address 3 are configured for interface 21 on UP device 2. That is, terminals coming online from interface 21 are divided into user group 1 corresponding to virtual MAC address 1, user group 2 corresponding to virtual MAC address 2, and user group 3 corresponding to virtual MAC address 3. Assuming UP device 2 fails, CP device 101 migrates at least one terminal from user group 1 (virtual MAC address 1) to UP device 1, at least one terminal from user group 2 (virtual MAC address 2) to UP device 3, and at least one terminal from user group 3 (virtual MAC address 3) to UP device 4. Thus, UP device 1 forwards the services of at least one terminal from user group 1 through interface 11; UP device 3 forwards the services of at least one terminal from user group 2 through interface 31; and / or, UP device 4 forwards the services of at least one terminal from user group 3 through interface 41.

[0123] For the 2+1 warm backup group corresponding to interface 22 on UP device 2, virtual MAC address 4 and virtual MAC address 5 are configured for interface 22 on UP device 2. That is, terminals coming online from interface 22 are divided into user group 4 corresponding to virtual MAC address 4 and user group 5 corresponding to virtual MAC address 5. Assuming UP device 2 fails, CP device 101 migrates at least one terminal in user group 4 (corresponding to virtual MAC address 4) to UP device 1, and migrates at least one terminal in user group 5 (corresponding to virtual MAC address 5) to UP device 3. Thus, UP device 1 forwards the services of at least one terminal in user group 4 through interface 12; UP device 3 forwards the services of at least one terminal in user group 5 through interface 32.

[0124] for Figure 1 Any terminal 102 in the vBNG system 100 shown, for ease of explanation, is referred to as the first terminal. The first terminal needs to be online on a UP device in the vBNG system 100 before the UP device can transmit the services of the first terminal. See also Figure 3 This application provides a method 300 for terminal online, which includes the following steps.

[0125] Step 301: The first terminal sends an access protocol message to the CP device, which is used to request the first terminal to access the network.

[0126] In some embodiments, the first terminal sends an access protocol message to a UP device in the vBNG system, and the UP device sends the access protocol message to the CP device. The UP device may be a UP device near the first terminal, or it may be a UP device that is pre-configured as a default device on the first terminal.

[0127] Optionally, the access protocol message includes information such as the user account and password of the first terminal.

[0128] Step 302: The CP device receives the access protocol message, authenticates the first terminal through the authentication server, and obtains the user table information of the first terminal when the authentication of the first terminal is successful.

[0129] The user entry information of the first terminal is used to transmit the services of the first terminal.

[0130] In some embodiments, the first terminal is authenticated and the user entry information of the first terminal is obtained through the following operations 3021-3025, wherein the operations 3021-3025 are respectively.

[0131] 3021: The CP device sends an authentication request for the first terminal to the authentication server.

[0132] In some embodiments, the authentication request includes information such as the user account and password corresponding to the first terminal.

[0133] 3022: The authentication server receives the authentication request, authenticates the first terminal, and after the first terminal is successfully authenticated, assigns an address to the first terminal and sends an authentication response carrying that address to the CP device.

[0134] In some embodiments, the authentication server authenticates the first terminal based on information such as the user account and password corresponding to the first terminal included in the authentication request. Optionally, the address assigned to the first terminal includes an Internet Protocol (IP) address and / or a Media Access Control (MAC) address.

[0135] 3023: The CP device receives the authentication response and selects a UP device from the UP devices included in the vBNG system for the first terminal to go online. For ease of explanation, the selected UP device will be referred to as the second UP device.

[0136] In some embodiments, the CP device may directly select the UP device that sends the access protocol message, or select the UP device with the least load, or select the UP device closest to the first terminal, etc.

[0137] 3024: The CP device selects an interface from the interfaces included in the second UP device. For ease of explanation, the selected interface is referred to as the first interface. A user group is selected from at least one user group of the first interface.

[0138] In some embodiments, the CP device stores the interface identifier of any interface in the second UP device, at least one virtual MAC address of the interface, and the terminals included in the user group corresponding to each virtual MAC address. In 3024, the CP device selects an interface from the interfaces on the second UP device as the first interface based on a load balancing strategy, and selects a user group from the user group corresponding to each virtual MAC address of the first interface.

[0139] 3025: The CP device generates user table information for the first terminal, which includes user information, first virtual MAC address, and first downlink routing information for the first terminal.

[0140] The first virtual MAC address is the virtual MAC address corresponding to the selected user group. The user information corresponding to the first terminal includes the address of the first terminal, and may also include information such as the user account of the first terminal. The first downlink routing information includes the destination address and the first next-hop information. The destination address is the address of the first terminal, and the next-hop device indicated by the first next-hop information is the first forwarding device communicating with the first terminal.

[0141] In some embodiments, for a first interface on a second UP device, the first interface corresponds to N backup interfaces, which are located on N backup UP devices. For at least one virtual MAC address on the first interface, each virtual MAC address corresponds to one backup interface.

[0142] In some embodiments, the CP device stores a third correspondence, which stores the correspondence between master device information and backup device information. Compared to the first correspondence, the master device information includes the device identifier of the second UP device, the interface identifier of the first interface, and a virtual MAC address of the first interface. The backup device information includes the device identifier of a backup UP device corresponding to the first interface and the virtual MAC address, and the interface identifier of the backup interface on the backup UP device. Optionally, the CP device stores either the first or the third correspondence.

[0143] For example, see Figure 2For interface 21 on UP device 2, interface 21 has corresponding virtual MAC addresses 1, 2, and 3. The three backup interfaces corresponding to interface 21 include interface 11 on UP device 1, interface 31 on UP device 3, and interface 41 on UP device 4. Virtual MAC address 1 corresponds to interface 11 on UP device 1, virtual MAC address 2 corresponds to interface 31 on UP device 3, and virtual MAC address 3 corresponds to interface 41 on UP device 4. Referring to Table 3 below, the CP device stores the following third correspondence relationship. The first record of the third correspondence relationship (record number 1) includes primary device information and backup device information. The primary device information includes the device identifier Device2 of UP device 1, the interface identifier Interface21 of interface 21, and virtual MAC address 1. The backup device information includes the device identifier Device1 of UP device 1 and the interface identifier Interface11 of interface 11. The second record in the third correspondence (record number 2) includes primary device information and backup device information. The primary device information includes the device identifier Device2 of UP device 2, the interface identifier Interface21 of interface 21, and the virtual MAC address 2. The backup device information includes the device identifier Device3 of UP device 3 and the interface identifier Interface31 of interface 31. The other records in the third correspondence shown in Table 3 will not be listed here.

[0144] Table 3

[0145]

[0146] In some embodiments, the UP device stores a fourth correspondence, which stores the correspondence between interface identifiers, virtual MAC addresses, and backup device information. For each record stored in the fourth correspondence, the record includes an interface identifier, a virtual MAC address, and backup device information. The interface identifier is the interface identifier of an interface on the UP device, and the virtual MAC address is a virtual MAC address of that interface. Optionally, the UP device stores either the second or fourth correspondence described above.

[0147] For example, see Figure 2For UP device 2, UP device 2 stores the fourth correspondence shown in Table 4 below. The first record of the fourth correspondence (record number 1) includes the interface identifier Interface21 of interface 21, virtual MAC address 1, and backup device information. The backup device information includes the device identifier Device1 of UP device 1 and the interface identifier Interface11 of interface 11. The second record of the fourth correspondence (record number 2) includes the interface identifier interface21 of interface 21, virtual MAC address 2, and backup device information. The backup device information includes the device identifier Device3 of UP device 3 and the interface identifier Interface31 of interface 31. The other records in the fourth correspondence shown in Table 4 will not be listed here.

[0148] Table 4

[0149]

[0150] In some embodiments, for any virtual MAC address of the first interface, the backup UP device and the second UP device corresponding to the virtual MAC address are located in the same power supply group, or the backup UP device and the second UP device corresponding to the virtual MAC address are located in different power supply groups. Optionally, UP devices located in the same data center can be referred to as a power supply group, or UP devices located on the same rack can be referred to as a power supply group, or UP devices with the same power supply can be referred to as a power supply group.

[0151] When the backup UP device and the second UP device corresponding to the virtual MAC address are located in different power supply groups, if a power outage or other fault occurs in the power supply group where the second UP device is located, the terminals in the user group corresponding to the virtual MAC address on the second UP device can be migrated to the backup UP device corresponding to the virtual MAC address. Since the backup UP device and the second UP device belong to different power supply groups, the power supply group where the backup UP device is located may not experience a power outage or other fault, allowing each terminal in the user group to successfully go online on the backup UP device.

[0152] In some embodiments, the CP device generates user entry information for the first terminal and sends the user entry information corresponding to the first terminal to the backup UP device corresponding to the first virtual MAC address. In implementation:

[0153] The CP device assembles the device identifier of the second UP device, the interface identifier of the first interface, and the first virtual MAC address into master device information. Based on this master device information, it retrieves the corresponding backup device information from the third correspondence. The retrieved backup device information includes the device identifier of a backup UP device and the interface identifier of the backup interface on the backup UP device. Based on the device identifier of the backup UP device, the CP device sends first information and user entry information of the first terminal to the backup UP device. The first information includes one or more of the device identifier of the second UP device, the interface identifier of the first interface, and the first virtual MAC address. The backup UP device receives the interface identifier of the backup interface, the first information, and the user entry information of the first terminal, assembles the first information and the user entry information of the first terminal into a record, and stores this record in the fifth correspondence.

[0154] For example, assuming the first virtual MAC address is virtual MAC address 1, the CP device uses the device identifier Device2 of the second UP device, the interface identifier Interface21 of the first interface, and virtual MAC address 1 to form the master device information. Based on this master device information, it obtains the corresponding backup device information from the third correspondence shown in Table 3. The obtained backup device information includes the device identifier Device1 of the backup UP device and the interface identifier Interface11 of the backup interface. Based on the device identifier Device1 of the backup UP device, the CP device sends first information and user entry information of the first terminal to the first UP device. The first information includes one or more of the device identifier Device2 of the second UP device, the interface identifier Interface21 of the first interface, and virtual MAC address 1. The first UP device receives the first information and the user entry information of the first terminal, combines the first information and the user entry information of the first terminal into a record, and saves the record in the fifth correspondence shown in Table 5.

[0155] Table 5

[0156]

[0157] Step 303: The CP device sends the user entry information of the first terminal to the second UP device.

[0158] In some embodiments, the CP device stores the correspondence between the device identifier of the second UP device, the interface identifier of the first interface, the first virtual MAC address, and the user entry information of the first terminal in the sixth correspondence.

[0159] For example, referring to the sixth correspondence shown in Table 6 below, the CP device stores the correspondence between the device identifier Device2 of the second UP device, the interface identifier Interface21 of the first interface, the first virtual MAC address (virtual MAC address 1), and the user entry information of the first terminal in the sixth correspondence shown in Table 6 below.

[0160] Table 6

[0161] Device2 Interface21 Virtual MAC address 1 User information on the first terminal …… …… …… ……

[0162] Step 304: The second UP device receives the user entry information of the first terminal and sends an access response message to the first terminal. The access response message includes the user information of the first terminal and the first virtual MAC address. The user information includes the address of the first terminal.

[0163] In this process, after receiving the user entry information from the first terminal, the second UP device associates the user entry information with the first interface corresponding to the first virtual MAC address based on the first virtual MAC address in the user entry information.

[0164] In some embodiments, where each virtual MAC address of the first interface corresponds to a backup interface on a backup UP device, the CP device may not send the user entry information of the first terminal to the backup UP device. Instead, the second UP device may receive the user entry information of the first terminal and then send it to the backup UP device. In implementation:

[0165] The second UP device, based on the device identifier of the backup UP device, sends the interface identifier of the backup interface, first information, and user entry information of the first terminal to the backup UP device. The first information includes one or more of the device identifier of the second UP device, the interface identifier of the first interface, and the first virtual MAC address. The backup UP device receives the interface identifier of the backup interface, the first information, and the user entry information of the first terminal, combines the interface identifier of the backup interface, the first information, and the user entry information of the first terminal into a record, and saves the record in the fifth correspondence.

[0166] Step 305: The first terminal receives the address of the first terminal and the first virtual MAC address, and sends a first service request to the second UP device. The first service request includes the user information of the first terminal, the first virtual MAC address, and the service information of the service to be requested.

[0167] Upon receiving the address and virtual MAC address of the first terminal, the first terminal can request services. The service information for the requested service includes the address corresponding to the requested service. The user information for the first terminal includes the address of the first terminal, and may also include the user account information, etc.

[0168] If the service requested by the first terminal is a multicast service, then the address of the requested service is the multicast address of the first multicast source. The first multicast source is the multicast source corresponding to the multicast service. The first service request is a multicast join request, and the service information of the requested service is multicast information, which includes the multicast address. If the service requested by the first terminal is a non-multicast service, then the address of the requested service is the address of the server where the requested service is located.

[0169] Optionally, the first terminal sends a first service request to the first forwarding device, the first forwarding device receives the first service request, and sends the first service request to the second UP device based on the first virtual MAC address included in the first service request.

[0170] Step 306: The second UP device receives the first service request and sends a second service request to the second forwarding device. The second service request includes the user information of the first terminal and the service information of the service to be requested.

[0171] In step 306, the second UP device receives the first service request through the first interface. The service to be requested in the first service request may be a multicast service or a non-multicast service.

[0172] If the requested service is a non-multicast service, the second UP device generates the first uplink routing information corresponding to the first terminal. The first uplink routing information includes the destination address and the second next-hop information. The destination address is the address of the requested service (the address of the server), and the next-hop device indicated by the second next-hop information is the second forwarding device. The first uplink routing information is added to the user table information of the first terminal.

[0173] The second UP device also sends an update request to the CP device. The update request includes the user information of the first terminal and the first uplink routing information. The CP device receives the update request, obtains the user entry information including the user information, which is the user entry information of the first terminal, and adds the first uplink routing information to the user entry information of the first terminal.

[0174] In some embodiments, the second UP device further sends an update request to the backup UP device corresponding to the first virtual MAC address. This update request includes user information and first uplink routing information for the first terminal. The backup UP device receives the update request, obtains user entry information including the user information (which is the user entry information for the first terminal), and adds the first uplink routing information to the user entry information of the first terminal. Alternatively, after receiving the update request, the CP device sends an update request to the backup UP device corresponding to the first virtual MAC address. The backup UP device receives the update request, obtains user entry information including the user information (which is the user entry information for the first terminal), and adds the first uplink routing information to the user entry information of the first terminal.

[0175] If the requested service is a multicast service, the second UP device will combine the multicast information of the requested service and the user information of the first terminal into a record and save the record in the seventh correspondence.

[0176] In some embodiments, the second UP device sends multicast information of the requested service and user information of the first terminal to the first UP device. The first UP device is a backup UP device corresponding to the first interface. The first UP device receives the multicast information and the user information of the first terminal, combines the multicast information and the user information of the first terminal into a record, and saves the record in the seventh correspondence. Optionally, the first UP device is a backup UP device corresponding to the first interface and the first virtual MAC address. In implementation:

[0177] The second UP device, based on the interface identifier of the first interface, obtains the device identifiers of the N backup UP devices corresponding to the first interface from the second correspondence. Based on the device identifier of each backup UP device, it sends the multicast information and the user information of the first terminal to each backup UP device. Each backup UP device then combines the multicast information and the user information of the first terminal into a record and saves the record in the seventh correspondence.

[0178] For example, see Figure 2 UP device 2 receives the first service request through interface 21, combines the multicast information in the first service request with the user information of the first terminal into a record, and saves this record in the seventh correspondence. Based on the interface identifier interface 21, it obtains the three backup UPs corresponding to interface 21 from the second correspondence shown in Table 2, namely UP device 1, UP device 3, and UP device 4. It sends the multicast information and the user information of the first terminal to UP device 1, UP device 3, and UP device 4 respectively. UP device 1, UP device 3, or UP device 4 combines the multicast information and the user information of the first terminal into a record and saves this record in the seventh correspondence.

[0179] or,

[0180] The second UP device obtains the device identifier of a backup UP device corresponding to the first interface and the first virtual MAC address from the fourth correspondence based on the first interface and the first virtual MAC address. Based on the device identifier of the backup UP device, it sends the multicast information and the user information of the first terminal to the backup UP device. The backup UP device then combines the multicast information and the user information of the first terminal into a record and saves the record in the seventh correspondence.

[0181] For example, see Figure 2 UP device 2 receives a first service request through interface 21. Assume the first service request includes user information of the first terminal, virtual MAC address 1, and multicast information. It combines the multicast information and the user information of the first terminal into a record and stores this record in the seventh correspondence. Based on the interface identifier interface21 and virtual MAC address 1 of interface 21, it retrieves the backup UP1 corresponding to interface 21 and virtual MAC address 1 from the fourth correspondence shown in Table 4. It sends the multicast information and the user information of the first terminal to UP device 1. UP device 1 combines the multicast information and the user information of the first terminal into a record and stores this record in the seventh correspondence.

[0182] Step 307: The second forwarding device receives the second service request, generates routing information corresponding to the first terminal, and requests the service to be requested based on the address of the service to be requested included in the second service request.

[0183] In step 307, when the requested service is a multicast service, the address of the requested service is a multicast address. The second forwarding device adds the first terminal to the multicast group based on the multicast address and the address of the first terminal. The multicast group is the multicast group of the first multicast source corresponding to the multicast address. The device generates routing information corresponding to the first terminal. The routing information includes second downlink routing information. The second downlink routing information includes the multicast address and third next-hop information. The next-hop device indicated by the third next-hop information is the second UP device.

[0184] See Figure 2 Next, the second forwarding device can send the multicast service of the multicast source to the first terminal. The process is as follows:

[0185] The second forwarding device receives the first service packet of the multicast source multicast based on the multicast address. The first service packet is a packet belonging to the multicast service and includes multicast information, which includes the multicast address. It obtains the second downlink routing information including the multicast address, obtains the third next-hop information from the second downlink routing information, and sends the first service packet to the second UP device (such as UP device 2) based on the third next-hop information.

[0186] The second UP device (e.g., UP device 2) receives the first service message. Based on the multicast information included in the first service message, it obtains the user information of the first terminal from the seventh correspondence relationship, and obtains user entry information including the user information from the stored user entry information. This user entry information is the user entry information of the first terminal. Based on this user entry information, it sends a second service message to the first terminal. The second service message is obtained based on the first service message.

[0187] Optionally, the user entry information includes first downlink routing information and a first virtual MAC address (e.g., virtual MAC address 1). The first next-hop information in the first downlink routing information indicates that the next-hop device is a first forwarding device. The second UP device (e.g., UP device 2) sends a second service message to the first forwarding device through the first interface (e.g., interface 21) corresponding to the first virtual MAC address. The first forwarding device receives the second service message and sends the second service message to the first terminal.

[0188] In step 307, when the requested service is a non-multicast service, the address of the requested service is the address of the server where the requested service resides. The second forwarding device generates routing information corresponding to the first terminal and sends a second service request to the server. This routing information includes second downlink routing information and second uplink routing information. The second downlink routing information includes a destination address and third next-hop information. The destination address is the address of the first terminal, and the next-hop device indicated by the third next-hop information is the second uplink device (UP device). The second uplink routing information includes a destination address and fourth next-hop information. The destination address is the address of the server, and the next-hop device indicated by the fourth next-hop information is the server, or the next-hop device includes routing information that can reach the server.

[0189] See Figure 2 Next, the second forwarding device can transmit the requested service to the first terminal. The process is as follows:

[0190] For downlink transmission, the second forwarding device receives the third service message sent by the server. This third service message belongs to the requested service and its destination address is the address of the first terminal. The second forwarding device obtains second downlink routing information including the address of the first terminal, retrieves third next-hop information from this information, and sends the third service message to the second UP device (e.g., UP device 2) indicated by the third next-hop information. The second UP device receives the third service message and, based on the address of the first terminal, retrieves user entry information including the address of the first terminal from the stored user entry information. This user entry information is the user entry information of the first terminal. Based on this user entry information, it sends a fourth service message to the first terminal, which is derived from the third service message.

[0191] Optionally, the user entry information includes a first virtual MAC address (e.g., virtual MAC address 1) and first downlink routing information. The first next-hop information in the first downlink routing information indicates that the next-hop device is a first forwarding device. The second UP device (e.g., UP device 2) sends a fourth service packet to the first forwarding device through the first interface (e.g., interface 21) corresponding to the first virtual MAC address. The first forwarding device receives the fourth service packet and sends the fourth service packet to the first terminal.

[0192] For uplink transmission, the first terminal sends a fifth service packet to the first interface of the second UP device (e.g., interface 21 of UP device 2) based on the first virtual MAC address (e.g., virtual MAC address 1). The fifth service packet includes the address of the first terminal and the address of the server, with the server's address being the destination address of the fifth service packet. The second UP device receives the fifth service packet through the first interface (e.g., interface 21) and obtains user entry information including the address of the first terminal. This user entry information includes first uplink routing information, and the second next-hop information in the first uplink routing information indicates that the next-hop device is the second forwarding device. The second UP device sends a sixth service packet to the second forwarding device. The sixth service packet is derived from the fifth service packet, and its destination address is the address of the server. The second forwarding device receives the sixth service packet, obtains second uplink routing information with the server's address as the destination address, and sends the sixth service packet to the server based on the second uplink routing information.

[0193] Optionally, the first terminal sends a fifth service message to the first forwarding device, the fifth service message also including a first virtual MAC address (such as virtual MAC address 1). The first forwarding device receives the fifth service message and sends the fifth service message to the first interface of the second UP device (such as interface 21 of UP device 2) based on the first virtual MAC address included in the fifth service message.

[0194] See Figure 4This application provides a method 400 for sending multicast services, the method 400 being applied to... Figure 1 The vBNG system 100 shown includes a CP device, a first UP device, and a second UP device. The method 200 includes the following steps.

[0195] Step 401: The first UP device receives a migration instruction, which instructs the first terminal to be migrated to the first UP device. The first terminal is a terminal that is online on the second UP device.

[0196] The first terminal is the terminal that goes online on the first interface of the second UP device. In step 401, the first UP device receives the migration command sent by the CP device.

[0197] In some embodiments, when the CP device detects a fault in the second UP device, it needs to migrate the terminals that have been online on each interface of the second UP device to other UP devices. The first interface is any interface on the second UP device.

[0198] In some embodiments, when the first interface of the second UP device fails, the second UP device sends a fault notification message to the CP device. The fault notification message includes the interface identifier of the first interface. The CP device receives the fault notification message, and at this time, the CP device needs to migrate the terminals that have been online on the first interface of the second UP device to other UP devices.

[0199] In step 401, the CP device determines the first UP device in the following two ways and sends a migration command to the first UP device. The two ways are as follows.

[0200] In the first approach, when a CP device needs to migrate terminals that have come online from the first interface, the CP device determines N backup UP devices corresponding to the first interface. Each backup UP device includes a backup interface corresponding to the first interface. Based on at least one virtual MAC address of the first interface and the device identifier of the second UP device, the CP device obtains the user group corresponding to each virtual MAC address of the first interface. It then selects a corresponding backup UP device for each user group from the N backup UP devices, including the first UP device. Based on the device identifier of the first UP device, a migration instruction is sent to the first UP device. This migration instruction includes the interface identifier of the second interface, user table entry information corresponding to each terminal in the first user group (the first user group selected for the first UP device), and the user table entry information for each terminal in the first user group including a first virtual MAC address, which is the virtual MAC address corresponding to the first user group.

[0201] The second interface is the backup interface on the first UP device that corresponds to the first interface, and the first user group includes the first terminal.

[0202] The second UP device and the N backup UP devices belong to the same warm backup group.

[0203] In some embodiments, the CP device stores a first correspondence and a sixth correspondence. Based on the device identifier of the second UP device and the interface identifier of the first interface, the CP device obtains the device identifiers of N backup UP devices corresponding to the first interface and the interface identifiers of the backup interfaces on those N backup UP devices from the first correspondence. Based on at least one virtual MAC address of the first interface, the interface of the first interface, and the device identifiers of the second UP devices, the CP device obtains user entry information of each terminal in at least one user group corresponding to the first interface from the sixth correspondence. Based on a load-sharing strategy, a corresponding backup UP device is selected for each user group from the N backup UP devices.

[0204] For example, suppose the CP device stores the first correspondence as shown in Table 1, see... Figure 2The CP device detects a fault in UP device 2, which includes interface 21 and interface 22. For interface 21, the CP device, based on the device identifier Device2 of UP device 2 and the interface identifier Interface21 of interface 21, obtains the device identifiers of the three backup UP devices and the interface identifiers of the backup interfaces on those three backup UP devices from the first correspondence shown in Table 1. Specifically, it obtains the device identifier Device1 of UP device 1 and the interface identifier Interface11 of interface 11, the device identifier Device3 of UP device 3 and the interface identifier Interface31 of interface 31, and the device identifier Device4 of UP device 4 and the interface identifier Interface41 of interface 41. The virtual MAC addresses of interface 21 include virtual MAC address 1, virtual MAC address 2, and virtual MAC address 3. For user group 1 corresponding to virtual MAC address 1, the CP device selects the corresponding backup UP device as UP device 1 and sends migration instruction 1 to UP device 1. Migration instruction 1 includes the interface identifier Interface11 of interface 11, virtual MAC address 1, and user table entry information corresponding to each terminal in user group 1. For user group 2 corresponding to virtual MAC address 2, select backup UP device 3 as the corresponding backup UP device. Send migration instruction 2 to UP device 3. Migration instruction 2 includes the interface identifier Interface31 of interface 31, virtual MAC address 2, and user table entry information corresponding to each terminal in user group 2. For user group 3 corresponding to virtual MAC address 3, select backup UP device 4 as the corresponding backup UP device. Send migration instruction 3 to UP device 4. Migration instruction 3 includes the interface identifier Interface41 of interface 41, virtual MAC address 3, and user table entry information corresponding to each terminal in user group 3. For interface 22 on UP device 2, refer to the above processing of interface 21, and will not be detailed here.

[0205] In the second method, when the CP device needs to migrate terminals that came online from the first interface, the CP device selects a virtual MAC address from at least one virtual MAC address of the first interface as the first virtual MAC address. Based on the device identifier of the second UP device, the interface identifier of the first interface, and the first virtual MAC address, the CP device obtains the device identifier of the backup UP device corresponding to the first interface and the first virtual MAC address, as well as the interface identifier of the backup interface on the backup UP device, from the third correspondence, and designates the backup UP device as the first UP device. A migration command is then sent to the first UP device based on the device identifier of the first UP device.

[0206] In the second approach, since the device identifier of the backup UP device corresponding to the first interface and the first virtual MAC address is obtained from the third correspondence, as well as the interface identifier of the backup interface on the backup UP device, that is, the backup interface is precisely bound to the first virtual MAC address, the backup relationship in the warm backup group is controllable, which facilitates the smooth switching of the forwarding side behavior.

[0207] In some embodiments, for a first user group corresponding to a first virtual MAC address, when the first UP device stores user table entry information corresponding to each terminal in the first user group, the migration instruction includes the interface identifier of the second interface and first information, wherein the first information includes one or more of the interface identifier of the first interface, the device identifier of the second UP device, and the first virtual MAC address. Alternatively, when the first UP device does not store user table entry information corresponding to each terminal in the first user group, the migration instruction includes the interface identifier of the second interface, the first virtual MAC address, and user table entry information corresponding to each terminal in the first user group.

[0208] For example, suppose the CP device stores a third correspondence as shown in Table 3, see [reference]. Figure 2The CP device detects a fault in the UP device 2, which includes interface 21 and interface 22. For interface 21, the virtual MAC address of interface 21 includes virtual MAC address 1, virtual MAC address 2, and virtual MAC address 3. Based on the device identifier Device2 of UP device 2, the interface identifier Interface21 of interface 21, and virtual MAC address 1, the CP device obtains the corresponding device identifier Device1 of UP device 1 and the interface identifier Interface11 of interface 11 from the third correspondence shown in Table 3, and sends migration instruction 1 to UP device 1. Migration instruction 1 includes the interface identifier Interface11 of interface 11, virtual MAC address 1, and user table entry information corresponding to each terminal in user group 1. Alternatively, migration instruction 1 includes the interface identifier Interface11 of interface 11 and first information, the first information including virtual MAC address 1. Based on the device identifier Device2 of UP device 2, the interface identifier Interface21 of interface 21, and the virtual MAC address 2, the CP device obtains the corresponding device identifier Device3 of UP device 3 and the interface identifier Interface31 of interface 31 from the third correspondence shown in Table 3, and sends a migration instruction 2 to UP device 3. The migration instruction 2 includes the interface identifier Interface31 of interface 31, the virtual MAC address 2, and the user table entry information corresponding to each terminal in user group 2. Alternatively, the migration instruction 2 includes the interface identifier Interface31 of interface 31 and first information, the first information including the virtual MAC address 2. Based on the device identifier Device2 of UP device 2, the interface identifier Interface21 of interface 21, and the virtual MAC address 3, the CP device obtains the corresponding device identifier Device4 of UP device 4 and the interface identifier Interface41 of interface 41 from the third correspondence shown in Table 3, and sends a migration instruction 3 to UP device 4. The migration instruction 3 includes the interface identifier Interface41 of interface 41, the virtual MAC address 3, and the user table entry information corresponding to each terminal in user group 3. Alternatively, the migration instruction 3 includes the interface identifier Interface41 of interface 41 and first information, the first information including the virtual MAC address 3.

[0209] Step 402: The first UP device sends a query request to the first terminal based on the migration instruction.

[0210] In step 402, the first UP device can send a query request to the first terminal through the following operations 4021-4022, which are respectively.

[0211] 4021: The first UP device obtains the user information of the first terminal based on the migration instruction.

[0212] In some embodiments, the migration instruction includes user entry information corresponding to each terminal in a first user group, the first user group including a first terminal, and the user entry information of the first terminal including user information of the first terminal. In 4021, the first UP device randomly selects the user entry information of one terminal from the user entry information of each terminal in the first user group included in the migration instruction as the user entry information of the first terminal. The user information of the first terminal is read from the user entry information of the first terminal.

[0213] Since the migration instruction includes user entry information for each terminal, the first UP device can directly obtain the user entry information from the migration instruction, which facilitates the first UP device in obtaining the user entry information and simplifies the complexity of the algorithm implementation.

[0214] Upon receiving the migration instruction, the first UP device, based on the interface identifier of the second interface, uses the first virtual MAC address as a virtual MAC address for the second interface and saves the user table entry information for each terminal in the first user group. It should be noted that after using the first virtual MAC address as a virtual MAC address for the second interface, the second interface gains an additional virtual MAC address. For example, if the second interface has three virtual MAC addresses, using the first virtual MAC address as a virtual MAC address for the second interface results in four virtual MAC addresses.

[0215] In some embodiments, the migration instruction includes an interface identifier of the second interface and first information. Based on the first information and the interface identifier of the second interface, the first UP device obtains user entry information of each terminal in the first user group from the fifth correspondence. It then selects the user entry information of one terminal from the user entry information of each terminal in the first user group as the user entry information of the first terminal. Finally, it reads the user information of the first terminal from the user entry information of the first terminal.

[0216] For example, see Figure 2 Assuming the first UP device is UP device 1, UP device 1 receives migration instruction 1. Migration instruction 1 includes the interface identifier Interface 11 of interface 11 and first information, which includes virtual MAC address 1. Based on the first information, user entry information of each terminal in the first user group is obtained from the fifth correspondence shown in Table 5. The obtained user entry information includes the user entry information of the first terminal, and the user information of the first terminal is obtained from this user entry information.

[0217] In this process, after obtaining the user entry information of each terminal in the first user group, the first UP device uses the first virtual MAC address as a virtual MAC address of the second interface based on the interface identifier of the second interface.

[0218] 4022: The first UP device sends a query request to the first terminal based on the user information of the first terminal.

[0219] Step 403: The first UP device receives the query response sent by the first terminal based on the query request. The query response includes the multicast information corresponding to the first terminal.

[0220] Specifically, after the first terminal receives the query request, if the first terminal joins a multicast group, the first terminal sends the multicast information corresponding to the first UP device. This multicast information is the multicast information of the first multicast source, and the multicast group corresponding to the first multicast source is the multicast group that the first terminal has joined. If the first terminal has not joined any multicast group, the first terminal sends a rejection response to the first UP device.

[0221] In some embodiments, the first UP device combines the user information of the first terminal and the multicast information into a record and stores the record in the seventh correspondence.

[0222] In some embodiments, the query request and query response are both based on messages encapsulated using the Internet Group Management Protocol (IGMP), or the query request and query response are both based on messages encapsulated using the Multicast Listener Discovery Protocol (MLD).

[0223] Step 404: The first UP device forwards the multicast service to the first terminal based on the multicast information.

[0224] This multicast service is a multicast service from a first multicast source, and the multicast group corresponding to the first multicast source is the multicast group joined by the first terminal. Optionally, this multicast service is high-speed internet (HSI) or internet protocol TV (IPTV).

[0225] In step 404, the first UP device sends a third service request to the second forwarding device. The third service request includes the multicast information, which includes a multicast address. The second forwarding device receives the third service request. If the second forwarding device has already received the multicast service corresponding to the multicast information, it generates third downlink routing information, which includes the multicast address and fifth next-hop information. The next-hop device indicated by the fifth next-hop information is the first UP device. If the second forwarding device has not received the multicast service corresponding to the multicast information, it receives the multicast service from the first multicast source multicast based on the multicast address included in the multicast information, and generates third downlink routing information, which includes the multicast address and fifth next-hop information. The next-hop device indicated by the fifth next-hop information is the first UP device.

[0226] See Figure 5 Next, the multicast service is sent to the first terminal. The sending process is as follows: The second forwarding device receives the seventh service message of the first multicast source multicast based on the multicast address. The seventh service message is a message belonging to the multicast service. The seventh service message includes multicast information, which includes the multicast address. The third downlink routing information including the multicast address is obtained. The fifth next-hop information is obtained from the third downlink routing information. Based on the fifth next-hop information, the seventh service message is sent to the first UP device (such as UP device 1).

[0227] The first UP device (e.g., UP device 1) receives the seventh service message. Based on the multicast information included in the seventh service message, it obtains the user information of the first terminal from the seventh correspondence, and obtains the user entry information including the user information from the stored user entry information. This user entry information is the user entry information of the first terminal. Based on this user entry information, it sends an eighth service message to the first terminal. The eighth service message is obtained based on the seventh service message.

[0228] Optionally, the user entry information includes first downlink routing information and a first virtual MAC address (e.g., virtual MAC address 1). The first next-hop information in the first downlink routing information indicates that the next-hop device is a first forwarding device. The first UP device (e.g., UP device 1) sends the eighth service packet to the first forwarding device through the second interface (e.g., interface 11) corresponding to the first virtual MAC address. The first forwarding device receives the eighth service packet and sends the eighth service packet to the first terminal.

[0229] In this embodiment, the first UP device receives a migration instruction sent by the CP device. This migration instruction instructs the first terminal to be migrated from the second UP device to the first UP device. Based on the migration instruction, the first UP device sends a query request to the first terminal and receives a query response from the first terminal based on the query request. The query response includes multicast information corresponding to the first terminal. In other words, the first UP device actively queries the multicast information corresponding to the multicast group joined by the first terminal based on the migration instruction and the query request. Upon finding the multicast information, it forwards the multicast service to the first terminal based on the multicast information, thereby automatically restoring the multicast service and ensuring normal forwarding of the multicast service to the first terminal. Furthermore, since the first UP device queries the multicast information corresponding to the first terminal, the first UP device does not need to store the data used to obtain the multicast information, thus saving resources. Also, since the user does not need to manually restore the multicast service, the user experience is improved.

[0230] See Figure 6 This application provides a method 600 for sending multicast services, the method 600 being applied to... Figure 1 The vBNG system 100 shown includes a CP device, a first UP device, and a second UP device. The method 600 includes the following steps.

[0231] Step 601: The first UP device receives multicast information corresponding to the first terminal sent by the second UP device. The first terminal is the terminal that is online on the second UP device.

[0232] See Figure 3 In step 306 of method 300, the second UP device sends the multicast information of the service to be requested by the first terminal and the user information of the first terminal to the first UP device. The first UP device receives the multicast information and the user information of the first terminal, combines the multicast information and the user information of the first terminal into a record, and saves it in the seventh correspondence relationship.

[0233] After step 601, if the second UP device fails or the first interface on the second UP device fails (the first interface is any interface on the second UP device), perform the following steps 602-603.

[0234] Step 602: The first UP device receives a migration instruction, which instructs the first terminal to be migrated to the first UP device.

[0235] The first UP device receives the migration command sent by the CP device. See also Figure 4 In step 401 of method 400, the CP device sends a migration command to the first UP device using either the first or second method described in step 401.

[0236] In some embodiments, the migration instruction includes the interface identifier of the second interface and user entry information corresponding to each terminal in the first user group. Alternatively, the migration instruction includes the interface identifier of the second interface and first information, the first information including one or more of the device identifier of the second UP device, the interface identifier of the first interface, and a first virtual MAC address.

[0237] The first user group is the user group corresponding to the first interface on the first UP device. The user table information of each terminal in the first user group includes the first virtual MAC address, which is the virtual MAC address corresponding to the first user group. The second interface is the backup interface corresponding to the first interface.

[0238] Step 603: The first UP device forwards the multicast service to the first terminal based on the multicast information and the migration instruction.

[0239] In step 603, the first UP device forwards the multicast service to the first terminal through the following operations 6031-6033, which are respectively:

[0240] 6031: The first UP device obtains the first user table entry information based on the migration instruction. The first user table entry information is used to transmit the services of the first terminal. The user information of the first terminal is obtained from the first user table entry information.

[0241] In some embodiments, the migration instruction includes user entry information corresponding to each terminal in the first user group, the first user group including the first terminal, and the user entry information of the first terminal including the user information of the first terminal.

[0242] In some embodiments, the migration instruction includes an interface identifier of the second interface and first information. Based on the first information and the interface identifier of the second interface, the first UP device obtains user entry information of each terminal in the first user group from the fifth correspondence. It then selects the user entry information of one terminal from the user entry information of each terminal in the first user group as the user entry information of the first terminal. Finally, it reads the user information of the first terminal from the user entry information of the first terminal.

[0243] 6032: The first UP device obtains the multicast information corresponding to the first terminal from the seventh correspondence based on the user information of the first terminal.

[0244] 6033: The first UP device forwards the multicast service to the first terminal based on the multicast information.

[0245] For a detailed explanation of how the first UP device forwards the multicast service to the first terminal based on this multicast information, please refer to [link to documentation]. Figure 4The relevant content in step 404 of method 400 shown will not be described in detail here.

[0246] In this embodiment, a first UP device receives multicast information corresponding to a first terminal sent by a second UP device. The first terminal is a terminal that has come online on the second UP device. The first UP device receives a migration instruction, which instructs the first terminal to be migrated to the first UP device. Based on the multicast information and the migration instruction, the first UP device forwards multicast services to the first terminal. Since the first UP device receives the multicast information corresponding to the first terminal sent by the second UP device, when the first UP device receives the migration instruction instructing the migration of the first terminal, it can quickly forward multicast services to the first terminal based on the migration instruction and the multicast information. That is, the UP device that brought the terminal online actively sends the multicast information corresponding to the terminal to other UP devices. Thus, when the first UP device fails, other UP devices can quickly and automatically restore multicast services, ensuring that multicast services can be forwarded to the first terminal normally, and improving the efficiency of multicast service restoration. Since users do not need to manually restore multicast services, the user experience is improved.

[0247] See Figure 7 This application provides an apparatus 700 for transmitting multicast services. The apparatus 700 is applied in a Virtual Broadband Access Gateway (vBNG) system, which includes the apparatus 700 and a second User Plane Up (UP) device. The apparatus 700 can be deployed in, for example... Figure 1 The first UP device 1021 in the vBNG system 100 shown, Figure 2 or Figure 5 On UP device 1 in the system shown or Figure 4 On the first UP device in the method 400 shown. The device 700 includes:

[0248] The receiving unit 701 is used to receive a migration instruction, which is used to instruct the first terminal to be migrated to the device 700. The first terminal is a terminal that has been online on the second UP device.

[0249] Sending unit 702 is used to send a query request to the first terminal based on the migration instruction;

[0250] The receiving unit 701 is further configured to receive a query response sent by the first terminal based on the query request, the query response including multicast information corresponding to the first terminal;

[0251] The sending unit 702 is also used to forward the multicast service to the first terminal based on the multicast information.

[0252] Optionally, for details of the receiving unit 701 receiving the migration instruction, please refer to [link to relevant documentation]. Figure 4The relevant content in step 401 of method 400 shown will not be described in detail here.

[0253] Optionally, for details of the implementation process of sending the query request by the sending unit 702, please refer to [link / reference]. Figure 4 The relevant content in step 402 of method 400 shown will not be described in detail here.

[0254] Optionally, for details on how the receiving unit 701 receives the query response, please refer to [link / reference]. Figure 4 The relevant content in step 403 of method 400 shown will not be described in detail here.

[0255] Optionally, for details of the forwarding of multicast services by the sending unit 702 to the first terminal, please refer to [link / reference]. Figure 4 The relevant content in step 404 of method 400 shown will not be described in detail here.

[0256] Optionally, the multicast information is the multicast information corresponding to the first multicast source, and the multicast group corresponding to the first multicast source is the multicast group joined by the first terminal.

[0257] Optionally, the multicast information includes the multicast address of the first multicast source.

[0258] Optionally, the device 700 further includes:

[0259] The processing unit 703 is used to obtain first user entry information based on the migration instruction. The first user entry information is used to transmit the services of the first terminal.

[0260] Optionally, for the detailed implementation process of processing unit 703 obtaining the first user entry information, please refer to [link / reference]. Figure 4 The relevant content in step 4021 of method 400 shown will not be described in detail here.

[0261] Optionally, the migration instruction includes: the device identifier of the second UP device, the interface identifier of the first interface, or the virtual media access control layer MAC address of the first interface, wherein the first interface is the interface through which the first terminal goes online on the second UP device.

[0262] Optionally, the migration instruction includes first user entry information, which is used to transmit the services of the first terminal.

[0263] Optionally, the receiving unit 701 is used to receive migration instructions sent by the CP device.

[0264] Optionally, both the query request and the query response are based on messages encapsulated using the Internet Group Management Protocol (IGMP), or both the query request and the query response are based on messages encapsulated using the Multicast Listener Discovery Protocol (MLD).

[0265] Optionally, the device 700 and the second UP device are located in the same power supply group, or the device 700 and the second UP device are located in different power supply groups, which include multiple UP devices.

[0266] In this embodiment, when the receiving unit receives a migration instruction instructing the migration of the first terminal, the sending unit sends a query request to the first terminal based on the migration instruction. The receiving unit receives a query response from the first terminal based on the query request, and the query response includes multicast information corresponding to the first terminal. In other words, the sending unit proactively queries the multicast information corresponding to the multicast group the first terminal has joined based on the migration instruction and the query request. Upon finding the multicast information, the sending unit forwards multicast services to the first terminal based on the multicast information, thereby automatically restoring multicast services, ensuring normal forwarding of multicast services to the first terminal, and improving user experience.

[0267] See Figure 8 This application provides an apparatus 800 for transmitting multicast services. The apparatus 800 is applied in a Virtual Broadband Access Gateway (vBNG) system, which includes the apparatus 800 and a second User Plane Up (UP) device. The apparatus 800 can be deployed in, for example... Figure 1 The first UP device 1021 in the vBNG system 100 shown, Figure 2 or Figure 5 On UP device 1 in the system shown or Figure 6 On the first UP device in the method 600 shown. The device 800 includes:

[0268] The receiving unit 801 is used to receive multicast information corresponding to the first terminal sent by the second UP device. The first terminal is a terminal that has come online on the second UP device.

[0269] The receiving unit 801 is also configured to receive a migration instruction, which instructs the first terminal to be migrated to the device 800.

[0270] The sending unit 802 is used to forward the multicast service to the first terminal based on the multicast information and the migration instruction.

[0271] Optionally, for details on how the receiving unit 801 receives the multicast information corresponding to the first terminal, please refer to [link to documentation]. Figure 6 The relevant content in step 601 of method 600 shown will not be described in detail here.

[0272] Optionally, for details of the receiving unit 801 receiving the migration instruction, please refer to [link to relevant documentation]. Figure 6 The relevant content in step 602 of method 600 shown will not be described in detail here.

[0273] Optionally, for details of the forwarding of multicast services by the sending unit 802 to the first terminal, please refer to [link / reference]. Figure 6 The relevant content in step 603 of method 600 shown will not be described in detail here.

[0274] Optionally, the device 800 further includes:

[0275] The processing unit 803 is used to obtain first user entry information based on the migration instruction, the first user entry information being used to transmit the services of the first terminal.

[0276] Optionally, for the detailed implementation process of processing unit 803 obtaining the first user entry information, please refer to [link to documentation]. Figure 6 The relevant content in step 602 of method 600 shown will not be described in detail here.

[0277] Optionally, the migration instruction includes: the device identifier of the second UP device, the interface identifier of the first interface, or the virtual media access control layer MAC address of the first interface, where the first interface is the interface through which the first terminal goes online on the second UP device.

[0278] Optionally, the migration instruction includes first user entry information, which is used to transmit the services of the first terminal.

[0279] Optionally, the transmitting unit 802 is also used for:

[0280] Send multicast information corresponding to the second terminal to the second UP device. The second terminal is the terminal that has come online on the device 800.

[0281] Optionally, the device 800 and the second UP device are located in the same power supply group, or the device 800 and the second UP device are located in different power supply groups, and the power supply group includes multiple UP devices.

[0282] Optionally, the second UP device includes a first interface, which is the interface for the first terminal to go online. The device 800 includes a second interface, which is the interface for the first terminal to go online after it has migrated to the device 800. The first interface and the second interface are two interfaces in the same temperature backup group.

[0283] Optionally, in the warm backup group, the second interface is a backup interface of the first interface for the first virtual MAC address, the first virtual MAC address is the address of the first interface and the first virtual MAC address corresponds to the first terminal.

[0284] Optionally, the multicast information is the multicast information corresponding to the first multicast source, and the multicast group corresponding to the first multicast source is the multicast group joined by the first terminal.

[0285] Optionally, the multicast information of the first multicast source includes the multicast address of the first multicast source.

[0286] In this embodiment, the receiving unit receives multicast information corresponding to a first terminal sent by a second UP device (the first terminal being a terminal that has come online on the second UP device), and receives a migration instruction to instruct the first terminal to be migrated to the first UP device. The sending unit forwards multicast services to the first terminal based on the multicast information and the migration instruction. Since the receiving unit receives the multicast information corresponding to the first terminal sent by the second UP device, when the receiving unit receives the migration instruction instructing the migration of the first terminal, the sending unit forwards multicast services to the first terminal based on the migration instruction and the multicast information. That is, the UP device that brought the terminal online actively sends the multicast information corresponding to the terminal to other UP devices, so that when the UP device fails, other UP devices can automatically restore multicast services, ensuring that multicast services can be forwarded to the first terminal normally.

[0287] See Figure 9 This application provides a Virtual Broadband Access Gateway (vBNG) system 900, which includes a CP device 901, a first user plane UP device 902, and a second UP device 903. The vBNG system 900 can be... Figure 1 The vBNG system shown, Figure 3 The method 300 shown is applied to the vBNG system 100, or, Figure 6 The method 600 shown is applied to the vBNG system 100. The vBNG system 900 includes:

[0288] The second UP device 903 is used to send multicast information corresponding to the first terminal to the first UP device. The first terminal is the terminal that is online on the second UP device 903.

[0289] CP device 901 is used to send a migration instruction to first UP device 902 based on a fault in second UP device 903. The migration instruction is used to instruct the first terminal to be migrated to first UP device 902.

[0290] The first UP device 902 is used to forward multicast services to the first terminal based on the multicast information and the migration instruction.

[0291] Optionally, for details on how the second UP device 903 sends multicast information corresponding to the first terminal to the first UP device, please refer to [link to documentation]. Figure 6 The relevant content in step 601 of method 600 shown will not be described in detail here.

[0292] Optionally, for details on how the CP device 901 sends the migration command to the first UP device 902, please refer to [link to documentation]. Figure 6The relevant content in step 602 of method 600 shown will not be described in detail here.

[0293] For a detailed explanation of the optional implementation process of the first UP device 902 forwarding multicast services to the first terminal, please refer to [link / reference]. Figure 6 The relevant content in step 603 of method 600 shown will not be described in detail here.

[0294] Optionally, the second UP device 903 is also used to send multicast information corresponding to the first terminal to the third UP device.

[0295] Optionally, the first UP device, the second UP device, and the third UP device are devices in the same warm backup group.

[0296] Optionally, the multicast information is the multicast information corresponding to the first multicast source, and the multicast group corresponding to the first multicast source is the multicast group joined by the first terminal.

[0297] Optionally, the multicast information of the first multicast source includes the multicast address of the first multicast source.

[0298] In this embodiment, since the second UP device sends the multicast information corresponding to the first terminal to the first UP device, when the first UP device receives the migration instruction sent by the CP device to indicate the migration of the first terminal, the first UP device forwards the multicast service to the first terminal based on the migration instruction and the multicast information. That is, the UP device that the terminal comes online actively sends the multicast information corresponding to the terminal to other UP devices, so that when the UP device fails, other UP devices can automatically restore the multicast service and ensure that the multicast service can be forwarded to the first terminal normally.

[0299] See Figure 10 This application provides a schematic diagram of an apparatus 1000 for sending service messages. The apparatus 1000 can be any of the first UP devices provided in the above embodiments; for example, the apparatus 1000 can be... Figure 1 The first UP device 1021 in the vBNG100 shown, or Figure 3 The first UP device in method 300 shown Figure 4 The first UP device in method 400 shown. The device 1000 includes at least one processor 1001, internal connections 1002, memory 1003, and at least one transceiver 1004.

[0300] The device 1000 is a hardware-structured device that can be used to implement... Figure 8 The functional modules in the device 800. For example, those skilled in the art will conceive of them. Figure 8The functions of the receiving unit 801, transmitting unit 802 and processing unit 803 in the device 800 shown can be implemented by the processor 1001 calling the code in the memory 1003.

[0301] The device 1000 can also be used to implement the function of the first UP device in any of the above embodiments.

[0302] The processor 1001 described above may be a general-purpose central processing unit (CPU), a network processor (NP), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits used to control the execution of the program of the present application.

[0303] The aforementioned internal connection 1002 may include a pathway for transmitting information between the aforementioned components. The internal connection 1002 may be a single board or a bus, etc.

[0304] The aforementioned transceiver 1004 is used for communicating with other devices or communication networks.

[0305] The aforementioned memory 1003 may be a read-only memory (ROM) or other type of static storage device capable of storing static information and instructions, random access memory (RAM) or other type of dynamic storage device capable of storing information and instructions, or electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but not limited thereto. The memory may exist independently and be connected to the processor via a bus. The memory may also be integrated with the processor.

[0306] The memory 1003 stores application code that executes the scheme of this application, and its execution is controlled by the processor 1001. The processor 1001 executes the application code stored in the memory 1003, and cooperates with at least one transceiver 1004, thereby enabling the device 1000 to realize the functions of the method of this patent.

[0307] In a specific implementation, as one example, the processor 1001 may include one or more CPUs, for example... Figure 10 CPU0 and CPU1 in the CPU.

[0308] In a specific implementation, as one embodiment, the device 1000 may include multiple processors, for example... Figure 10 Processors 1001 and 1007 are mentioned. Each of these processors can be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor. A processor here can refer to one or more devices, circuits, and / or processing cores used to process data (e.g., computer program instructions).

[0309] See Figure 11 This application provides a schematic diagram of an apparatus 1100 for sending service messages. The apparatus 1100 can be any of the first UP devices provided in the above embodiments; for example, the apparatus 1100 can be... Figure 1 The first UP device 1121 in the vBNG110 shown, or Figure 3 The first UP device in method 300 shown Figure 6 The first UP device in method 600 shown. The device 1100 includes at least one processor 1101, internal connections 1102, memory 1103, and at least one transceiver 1104.

[0310] The device 1100 is a hardware structure device that can be used to implement... Figure 9 The functional modules in the device 900. For example, those skilled in the art will conceive of them. Figure 9 The functions of the receiving unit 901, transmitting unit 902 and processing unit 903 in the device 900 shown can be implemented by the processor 1101 calling the code in the memory 1103.

[0311] The device 1100 can also be used to implement the function of the first UP device in any of the above embodiments.

[0312] The processor 1101 described above can be a general-purpose central processing unit (CPU), a network processor (NP), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits used to control the execution of the program of the present application.

[0313] The aforementioned internal connection 1102 may include a pathway for transmitting information between the aforementioned components. The internal connection 1102 may be a single board or a bus, etc.

[0314] The aforementioned transceiver 1104 is used for communicating with other devices or communication networks.

[0315] The aforementioned memory 1103 may be a read-only memory (ROM) or other type of static storage device capable of storing static information and instructions, random access memory (RAM) or other type of dynamic storage device capable of storing information and instructions, or electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but not limited thereto. The memory may exist independently and be connected to the processor via a bus. The memory may also be integrated with the processor.

[0316] The memory 1103 stores the application code that executes the solution of this application, and its execution is controlled by the processor 1101. The processor 1101 executes the application code stored in the memory 1103, and cooperates with at least one transceiver 1104, thereby enabling the device 1100 to realize the function of the method of this patent.

[0317] In a specific implementation, as one example, the processor 1101 may include one or more CPUs, for example... Figure 11 CPU0 and CPU1 in the CPU.

[0318] In a specific implementation, as one embodiment, the device 1100 may include multiple processors, for example... Figure 11 Processors 1101 and 1107 are mentioned. Each of these processors can be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor. A processor here can refer to one or more devices, circuits, and / or processing cores used to process data (e.g., computer program instructions).

[0319] See Figure 12 , Figure 12This illustration shows a schematic diagram of the structure of a device 1200 for transmitting service messages according to an exemplary embodiment of this application. Optionally, the device 1200 is a first UP device in any of the above embodiments. For example, the device 1200 is... Figure 1 The first UP device 1021 in the vBNG100 shown, or Figure 3 The first UP device in method 300 shown Figure 4 The first UP device in method 400 shown, or Figure 7 The device 700 shown, or Figure 10 The device 1000. In other words, the above... Figure 3 Method 300 or shown Figure 4 The first UP device in method 400 shown can be used Figure 12 The device 1200 shown is implemented.

[0320] like Figure 12 As shown, device 1200 includes: main control board 1201 and interface board 1202.

[0321] The main control board 1201, also known as the main processing unit (MPU) or route processor card, is used to control and manage the various components in the device 1200, including routing calculation, device management, device maintenance, and protocol processing functions. The main control board 1201 includes a central processing unit 12011 and a memory 12012.

[0322] Interface board 1202 is also called a line processing unit (LPU), linecard, or service board. Interface board 1202 provides various service interfaces and implements packet forwarding. Service interfaces include, but are not limited to, Ethernet interfaces, POS (Packet over SONET / SDH) interfaces, etc., with Ethernet interfaces including, for example, Flexible Ethernet Clients (FlexE Clients). Interface board 1202 includes: a central processing unit 12021, a network processor 12022, a forwarding table entry memory 12023, and a physical interface card (PIC) 12024.

[0323] The central processing unit 12021 on the interface board 1202 is used to control and manage the interface board 1202 and communicate with the central processing unit 12011 on the main control board 1201.

[0324] The network processor 12022 is used to implement packet forwarding processing. The network processor 12022 can be in the form of a forwarding chip. The forwarding chip can be a network processor (NP). In some embodiments, the forwarding chip can be implemented using an application-specific integrated circuit (ASIC) or a field-programmable gate array (FPGA). Specifically, the network processor 12022 forwards received packets based on the forwarding table stored in the forwarding table entry memory 12023. If the destination address of the packet is the address of device 1200, the packet is sent to the CPU (such as the central processing unit 12021) for processing; if the destination address of the packet is not the address of device 1200, the next hop and outgoing interface corresponding to the destination address are looked up in the forwarding table according to the destination address, and the packet is forwarded to the outgoing interface corresponding to the destination address. Uplink packet processing may include: packet ingress interface processing, forwarding table lookup; downlink packet processing may include: forwarding table lookup, etc. In some embodiments, the central processing unit may also perform the functions of the forwarding chip, such as implementing software forwarding based on a general-purpose CPU, so that the forwarding chip is not required in the interface board.

[0325] The physical interface card 12023 is used to implement physical layer interfacing functions. Raw traffic enters the interface board 1202 through this card, and processed packets are sent out from the physical interface card 1202. The physical interface card 12023, also known as a daughter card, can be installed on the interface board 1202. It is responsible for converting photoelectric signals into packets, performing validity checks on the packets, and forwarding them to the network processor 12022 for processing. In some embodiments, the central processing unit can also perform the functions of the network processor 12022, such as implementing software forwarding based on a general-purpose CPU, thus eliminating the need for the network processor 12022 in the physical interface card 12023.

[0326] Optionally, device 1200 includes multiple interface boards. For example, device 1200 also includes interface board 1203, which includes: a central processing unit 12031, a network processor 12032, a forwarding table entry memory 12033, and a physical interface card 12034. The functions and implementation methods of each component in interface board 1203 are the same as or similar to those of interface board 1202, and will not be described again here.

[0327] Optionally, device 1200 also includes a switching fabric board 1204. The switching fabric board 1204 can also be referred to as a switch fabric unit (SFU). When device 1200 has multiple interface boards, the switching fabric board 1204 is used to complete data exchange between the interface boards. For example, interface boards 1202 and 1203 can communicate via the switching fabric board 1204.

[0328] The main control board 1201 and the interface board 1202 are coupled. For example, the main control board 1201, interface boards 1202 and 1203, and the switching network board 1204 are interconnected via a system bus and connected to the system backplane. In one possible implementation, an inter-process communication (IPC) channel is established between the main control board 1201 and the interface board 1202, and the main control board 1201 and the interface board 1202 communicate with each other through the IPC channel.

[0329] Logically, device 1200 includes a control plane and a forwarding plane. The control plane includes a main control board 1201 and a central processing unit (CPU), while the forwarding plane includes various components that perform forwarding, such as a forwarding table entry memory 12023, a physical interface card 12024, and a network processor 12022. The control plane performs functions such as router operation, generating forwarding tables, processing signaling and protocol messages, and configuring and maintaining the device's status. The control plane distributes the generated forwarding tables to the forwarding plane. In the forwarding plane, the network processor 12022 uses the forwarding tables distributed by the control plane to look up and forward messages received by the physical interface card 12024. The forwarding tables distributed by the control plane can be stored in the forwarding table entry memory 12023. In some embodiments, the control plane and the forwarding plane can be completely separated and not on the same device.

[0330] It's worth noting that there may be one or more main control boards 1201, including a primary and a backup main control board. There may also be one or more interface boards; the stronger the data processing capability of device 1200, the more interface boards it provides. Each interface board may also have one or more physical interface cards. There may be no switching network board 1204, or one or more; multiple boards can share the load for redundancy and backup. In a centralized forwarding architecture, device 1200 may not need a switching network board, as the interface boards handle the entire system's business data processing. In a distributed forwarding architecture, device 1200 can have at least one switching network board 1204, which enables data exchange between multiple interface boards, providing high-capacity data exchange and processing capabilities. Therefore, the data access and processing capabilities of device 1200 in a distributed architecture are greater than those in a centralized architecture. Alternatively, the device 1200 can also be a single board, without a switching network board. The functions of the interface board and the main control board are integrated on this one board. In this case, the central processing unit on the interface board and the central processing unit on the main control board can be combined into one central processing unit on this single board, executing the combined functions of both. This type of device has lower data exchange and processing capabilities (e.g., low-end switches or routers). The specific architecture adopted depends on the specific network deployment scenario, and no restrictions are imposed here.

[0331] See Figure 13 , Figure 13 This illustration shows a schematic diagram of the structure of a device 1300 for transmitting service messages according to an exemplary embodiment of this application. Optionally, the device 1300 is a first UP device in any of the above embodiments. For example, the device 1300 is... Figure 1 The first UP device 1021 in the vBNG100 shown, or Figure 3 The first UP device in method 300 shown Figure 6 The first UP device in method 600 shown, or Figure 8 The device 800 shown, or Figure 11 The device 1100. In other words, the above... Figure 3 Method 300 or shown Figure 6 The first UP device in method 600 shown can be used Figure 13 The device 1300 shown is implemented.

[0332] like Figure 13 As shown, device 1300 includes: main control board 1301 and interface board 1302.

[0333] The main control board 1301, also known as the main processing unit (MPU) or route processor card, is used to control and manage the various components in device 1300, including route calculation, device management, device maintenance, and protocol processing functions. The main control board 1301 includes a central processing unit 13011 and a memory 13012.

[0334] Interface board 1302 is also called a line processing unit (LPU), linecard, or service board. Interface board 1302 provides various service interfaces and implements packet forwarding. Service interfaces include, but are not limited to, Ethernet interfaces, POS (Packet over SONET / SDH) interfaces, etc., with Ethernet interfaces including, for example, Flexible Ethernet Clients (FlexE Clients). Interface board 1302 includes: a central processing unit 13021, a network processor 13022, a forwarding table entry memory 13023, and a physical interface card (PIC) 13024.

[0335] The central processing unit 13021 on the interface board 1302 is used to control and manage the interface board 1302 and communicate with the central processing unit 13011 on the main control board 1301.

[0336] Network processor 13022 is used to implement packet forwarding processing. Network processor 13022 can be in the form of a forwarding chip. The forwarding chip can be a network processor (NP). In some embodiments, the forwarding chip can be implemented using an application-specific integrated circuit (ASIC) or a field-programmable gate array (FPGA). Specifically, network processor 13022 forwards received packets based on the forwarding table stored in forwarding table entry memory 13023. If the destination address of the packet is the address of device 1300, the packet is sent to the CPU (such as central processing unit 13021) for processing; if the destination address of the packet is not the address of device 1300, the next hop and outgoing interface corresponding to the destination address are looked up in the forwarding table according to the destination address, and the packet is forwarded to the outgoing interface corresponding to the destination address. Uplink packet processing may include: packet ingress interface processing, forwarding table lookup; downlink packet processing may include: forwarding table lookup, etc. In some embodiments, the central processing unit may also perform the functions of the forwarding chip, such as implementing software forwarding based on a general-purpose CPU, so that the forwarding chip is not required in the interface board.

[0337] The physical interface card 13023 is used to implement physical layer interfacing functions. Raw traffic enters the interface board 1302 through this card, and processed packets are sent out from the physical interface card 1302. The physical interface card 13023, also known as a daughter card, can be installed on the interface board 1302. It is responsible for converting photoelectric signals into packets, performing validity checks on the packets, and forwarding them to the network processor 13022 for processing. In some embodiments, the central processing unit can also perform the functions of the network processor 13022, such as implementing software forwarding based on a general-purpose CPU, thus eliminating the need for the network processor 13022 in the physical interface card 13023.

[0338] Optionally, device 1300 includes multiple interface boards. For example, device 1300 also includes interface board 1303, which includes: a central processing unit 13031, a network processor 13032, a forwarding table entry memory 13033, and a physical interface card 13034. The functions and implementation methods of each component in interface board 1303 are the same as or similar to those of interface board 1302, and will not be described again here.

[0339] Optionally, device 1300 also includes a switching fabric board 1304. The switching fabric board 1304 can also be referred to as a switch fabric unit (SFU). When device 1300 has multiple interface boards, the switching fabric board 1304 is used to complete data exchange between the interface boards. For example, interface boards 1302 and 1303 can communicate through the switching fabric board 1304.

[0340] The main control board 1301 and the interface board 1302 are coupled. For example, the main control board 1301, interface boards 1302 and 1303, and the switching network board 1304 are interconnected via a system bus and connected to the system backplane. In one possible implementation, an inter-process communication (IPC) channel is established between the main control board 1301 and the interface board 1302, and the main control board 1301 and the interface board 1302 communicate with each other through the IPC channel.

[0341] Logically, device 1300 includes a control plane and a forwarding plane. The control plane includes a main control board 1301 and a central processing unit (CPU), while the forwarding plane includes various components that perform forwarding, such as a forwarding table entry memory 13023, a physical interface card 13024, and a network processor 13022. The control plane performs functions such as router operation, generating forwarding tables, processing signaling and protocol messages, and configuring and maintaining the device's status. The control plane distributes the generated forwarding tables to the forwarding plane. In the forwarding plane, the network processor 13022 uses the forwarding tables distributed by the control plane to look up and forward messages received by the physical interface card 13024. The forwarding tables distributed by the control plane can be stored in the forwarding table entry memory 13023. In some embodiments, the control plane and the forwarding plane can be completely separated and not on the same device.

[0342] It's worth noting that there may be one or more main control boards 1301, including a primary and a backup main control board. There may also be one or more interface boards; the stronger the data processing capability of device 1300, the more interface boards it provides. Each interface board may also have one or more physical interface cards. There may be no switching network board 1304, or one or more; multiple boards can share the load for redundancy and backup. In a centralized forwarding architecture, device 1300 may not need a switching network board, as the interface boards handle the entire system's business data processing. In a distributed forwarding architecture, device 1300 can have at least one switching network board 1304, which enables data exchange between multiple interface boards, providing high-capacity data exchange and processing capabilities. Therefore, the data access and processing capabilities of device 1300 in a distributed architecture are greater than those in a centralized architecture. Alternatively, the device 1300 can also be a single board, without a switching network board. The functions of the interface board and the main control board are integrated on this one board. In this case, the central processing unit on the interface board and the central processing unit on the main control board can be combined into one central processing unit on the same board, executing the combined functions of the two. This type of device has lower data exchange and processing capabilities (e.g., low-end switches or routers). The specific architecture adopted depends on the specific network deployment scenario, and no restrictions are imposed here.

[0343] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.

[0344] The above description is merely an optional embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the principles of this application should be included within the protection scope of this application.

Claims

1. A method for transmitting multicast services, the method being applied to a first user plane UP device in a virtual broadband access gateway (vBNG) system, the vBNG system further comprising a second UP device, characterized in that, The method includes: The first UP device receives a migration instruction, which is used to instruct the first terminal to be migrated to the first UP device. The first terminal is a terminal that went online on the second UP device. The first UP device sends a query request to the first terminal based on the migration instruction; The first UP device receives a query response sent by the first terminal based on the query request, and the query response includes multicast information corresponding to the first terminal; The first UP device forwards the multicast service to the first terminal based on the multicast information.

2. The method as described in claim 1, characterized in that, The multicast information is the multicast information corresponding to the first multicast source, and the multicast group corresponding to the first multicast source is the multicast group joined by the first terminal.

3. The method as described in claim 2, characterized in that, The multicast information includes the multicast address of the first multicast source.

4. The method according to any one of claims 1-3, characterized in that, The method further includes: The first UP device obtains first user table entry information based on the migration instruction, and the first user table entry information is used to transmit the services of the first terminal.

5. The method according to any one of claims 1-3, characterized in that, The migration instruction includes: the device identifier of the second UP device, the interface identifier of the first interface, or the virtual media access control layer MAC address of the first interface, wherein the first interface is the interface through which the first terminal goes online on the second UP device.

6. The method according to any one of claims 1-3, characterized in that, The migration instruction includes first user entry information, which is used to transmit the services of the first terminal.

7. The method according to any one of claims 1-3, characterized in that, The vBNG system also includes a control plane CP device, wherein the first UP device receives migration instructions, including: The first UP device receives the migration command sent by the CP device.

8. The method according to any one of claims 1-3, characterized in that, Both the query request and the query response are based on messages encapsulated using the Internet Group Management Protocol (IGMP), or both the query request and the query response are based on messages encapsulated using the Multicast Listener Discovery Protocol (MLD).

9. The method according to any one of claims 1-3, characterized in that, The first UP device and the second UP device are located in the same power supply group, or the first UP device and the second UP device are located in different power supply groups, and the power supply group includes multiple UP devices.

10. A method for sending multicast information, characterized in that, The method includes: The first terminal receives a query request sent by a first user plane UP device. The first UP device is located in a virtual broadband access gateway (vBNG) system. The vBNG system also includes a second UP device. The query request is sent by the first UP device based on a migration instruction. The migration instruction is used to instruct the first terminal to migrate to the first UP device. The first terminal is a terminal that went online on the second UP device. The first terminal sends a query response to the first UP device based on the query request. The query response includes multicast information corresponding to the first terminal, so that the first UP device forwards multicast services to the first terminal based on the multicast information.

11. The method as described in claim 10, characterized in that, The multicast information is the multicast information corresponding to the first multicast source, and the multicast group corresponding to the first multicast source is the multicast group joined by the first terminal.

12. The method as described in claim 11, characterized in that, The multicast information includes the multicast address of the first multicast source.

13. The method according to any one of claims 10-12, characterized in that, The migration instruction includes: the device identifier of the second UP device, the interface identifier of the first interface, or the virtual media access control layer MAC address of the first interface, wherein the first interface is the interface through which the first terminal goes online on the second UP device.

14. The method according to any one of claims 10-12, characterized in that, The migration instruction includes first user entry information, which is used to transmit the services of the first terminal.

15. The method according to any one of claims 10-12, characterized in that, Both the query request and the query response are based on messages encapsulated using the Internet Group Management Protocol (IGMP), or both the query request and the query response are based on messages encapsulated using the Multicast Listener Discovery Protocol (MLD).

16. An apparatus for transmitting multicast services, characterized in that, The device includes: A processor and a memory, the memory for storing a program, the processor for executing the program in the memory, such that the apparatus performs the method as described in any one of claims 1-9.

17. An apparatus for transmitting multicast information, characterized in that, The device includes: A processor and a memory, the memory for storing a program, the processor for executing the program in the memory, such that the apparatus performs the method as described in any one of claims 10-15.

18. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a computer, it implements the method as described in any one of claims 1-15.

19. A computer program product, characterized in that, The computer program product includes a computer program stored in a computer-readable storage medium, and the computer program is loaded by a processor to implement the method as described in any one of claims 1-15.

20. A Virtual Broadband Access Gateway (vBNG) system, the vBNG system comprising a CP device, a first user plane UP device, and a second UP device, characterized in that, The first UP device is used to perform the method as described in any one of claims 1-9.

Citation Information

Patent Citations

  • Multicasting message transmission method and device, and machine readable storage medium

    CN108234358A

  • Multi-entity resource, security, and service management in edge computing deployments

    CN114026834A