CN112769581A - Data multicasting method, apparatus, electronic device, medium, and program product - Google Patents

Data multicasting method, apparatus, electronic device, medium, and program product Download PDF

Info

Publication number
CN112769581A
CN112769581A CN202011642662.0A CN202011642662A CN112769581A CN 112769581 A CN112769581 A CN 112769581A CN 202011642662 A CN202011642662 A CN 202011642662A CN 112769581 A CN112769581 A CN 112769581A
Authority
CN
China
Prior art keywords
multicast
message
user terminal
session
multicast group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011642662.0A
Other languages
Chinese (zh)
Inventor
樊俊诚
傅旭明
齐向东
吴云坤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qianxin Technology Group Co Ltd
Secworld Information Technology Beijing Co Ltd
Original Assignee
Qianxin Technology Group Co Ltd
Secworld Information Technology Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qianxin Technology Group Co Ltd, Secworld Information Technology Beijing Co Ltd filed Critical Qianxin Technology Group Co Ltd
Priority to CN202011642662.0A priority Critical patent/CN112769581A/en
Publication of CN112769581A publication Critical patent/CN112769581A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1818Conference organisation arrangements, e.g. handling schedules, setting up parameters needed by nodes to attend a conference, booking network resources, notifying involved parties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1822Conducting the conference, e.g. admission, detection, selection or grouping of participants, correlating users to one or more conference sessions, prioritising transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1831Tracking arrangements for later retrieval, e.g. recording contents, participants activities or behavior, network status
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present disclosure provides a data multicast method, which is used for a router, and the method comprises the following steps: acquiring a multicast data message from an intranet, wherein the multicast data message comprises a target multicast group identifier; determining a target session corresponding to a target multicast group identifier according to the multicast group identifier and a preset corresponding relationship between the session and the multicast group identifier, wherein the corresponding relationship is set according to a membership report message sent by a user terminal of an external network; and sending the multicast data message to the user terminal of the external network through the target session. The present disclosure also provides a data multicasting apparatus, an electronic device and a medium.

Description

Data multicasting method, apparatus, electronic device, medium, and program product
Technical Field
The disclosure relates to a data multicast method, a data multicast device, an electronic device and a medium.
Background
The multicast technology can efficiently transmit point-to-multipoint data in a network, is widely applied to network video services, and is also widely applied to application scenes related to enterprise networks, such as enterprise video conferences, remote training, online live broadcasting and the like.
With the spread of remote offices, an access type VPN (Virtual Private Network) function has become an essential function of an enterprise Network. Under the support of the access VPN, enterprise employees can also be connected to a company intranet when going on business or at home, thereby bringing great convenience to work. L2TP (Layer 2 Tunneling Protocol, second Layer Tunneling Protocol) is a common access type VPN, which realizes a virtual private network function by public network dialing, provides convenient and economical point-to-point connection for mobile office staff to access an enterprise private network, and provides safe and reliable remote access service in cooperation with IPsec.
The multicast service is carried through the L2TP protocol, which not only provides the multicast video service for the access user, but also can conveniently carry out the user authentication and the multicast flow charging by utilizing the characteristics of the L2TP protocol. In order to provide Multicast video service for enterprise network users remotely accessed through L2TP, a scheme given by RFC is shown in RFC4045 extension to Support Efficient Carrying of Multicast Traffic Layer-2 Tunneling Protocol (L2TP), the scheme realizes the Support of the L2TP network to Multicast through expanding the load type of L2TP, newly-added negotiation message type and negotiation flow, the complexity is high, and the scheme requires that the devices of both L2TP negotiation parties Support the expansion Protocol at the same time to realize Multicast.
Disclosure of Invention
One aspect of the present disclosure provides a data multicast method performed by a router, for the router, the method including: acquiring a multicast data message from an intranet, wherein the multicast data message comprises a target multicast group identifier; determining a target session corresponding to the target multicast group identifier according to the multicast group identifier and a preset corresponding relationship between the session and the multicast group identifier, wherein the corresponding relationship is set according to a membership report message sent by a user terminal of an external network; and sending the multicast data message to a user terminal of an external network through the target session.
Optionally, a membership report message from the user terminal is obtained through an established session between the router and the user terminal, wherein the membership report message includes a multicast group identifier; decapsulating the membership report message to obtain an inner layer message, wherein the inner layer message is a message based on an internet group management protocol; acquiring a multicast group identifier by analyzing the inner layer message; and recording the corresponding relation between the session and the multicast group identification.
Optionally, the method further comprises: establishing a network tunnel connecting the router and the user terminal based on a second layer tunnel protocol; and establishing a session between the router and the user terminal based on the network tunnel.
Optionally, the sending the multicast data packet to the user terminal of the external network through the target session includes: based on a second layer tunnel protocol, packaging the multicast data message to obtain a packaged message; copying to obtain a first preset number of the encapsulation messages, wherein the first preset number is the same as the number of the target sessions; and sending an encapsulation message to the external network through each target session.
Optionally, the method further comprises: acquiring a leave request message from a user terminal through an established session between a router and the user terminal, wherein the leave request message comprises a multicast group identifier; and deleting the corresponding relation between the session to which the user terminal leaves and the multicast group identification.
Optionally, the method further includes: sending a query message to a user terminal at a preset time interval through an established session between a router and the user terminal, so that the user terminal sends a membership report message containing a multicast group identifier to the router in response to the query message; and deleting the corresponding relation between the session to which the query message belongs and the multicast group identifier under the condition that the membership report message is not received within the preset time length after the query message is sent.
Optionally, the sending the query message to the user terminal includes: copying to obtain a second preset number of the query messages, wherein the second preset number is the same as the number of the established sessions; and respectively sending an inquiry message to the user terminal corresponding to the session through each established session.
Optionally, the method further comprises: and under the condition that the corresponding relation between the session and the multicast group identification does not have a target session corresponding to the target multicast group identification, discarding the multicast data message.
Another aspect of the present disclosure provides a data multicasting apparatus, including: the first acquisition module is used for acquiring a multicast data message from an intranet, wherein the multicast data message comprises a target multicast group identifier; a first determining module, configured to determine a target session corresponding to the target multicast group identifier according to the multicast group identifier and a preset correspondence between sessions and multicast group identifiers, where the correspondence is set according to a membership report packet sent by a user terminal of an external network; and the sending module is used for sending the multicast data message to a user terminal of an external network through the target session.
Another aspect of the present disclosure provides an electronic device including: one or more processors; memory for storing one or more computer programs, wherein the one or more computer programs, when executed by the one or more processors, cause the one or more processors to implement the method as described above.
Another aspect of the present disclosure provides a computer-readable storage medium storing computer-executable instructions for implementing the method as described above when executed.
Another aspect of the disclosure provides a computer program comprising computer executable instructions for implementing the method as described above when executed.
According to the data multicast method of the embodiment of the disclosure, the multicast protocol can be operated in the L2TP tunnel to forward the multicast message to the user terminal of the external network, the original network architecture of the user terminal does not need to be modified, only the software modification needs to be performed on the L2TP network server side, and the L2TP tunnel can bear the multicast service at a lower cost.
Drawings
For a more complete understanding of the present disclosure and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:
fig. 1A schematically illustrates an IGMP-based networking scenario;
fig. 1B schematically illustrates a networking scenario diagram based on L2 TP;
fig. 1C schematically illustrates an exemplary application scenario in which the data multicast method may be applied according to an embodiment of the present disclosure;
FIG. 2A schematically illustrates a flow diagram of a data multicasting method according to an embodiment of the present disclosure;
FIG. 2B schematically illustrates a flow diagram of a data multicasting method according to another embodiment of the present disclosure;
FIG. 3 schematically illustrates a flow diagram of a data multicasting method according to another embodiment of the present disclosure;
FIG. 4 schematically illustrates a flow diagram of a data multicasting method according to another embodiment of the present disclosure;
FIG. 5 schematically illustrates a logic diagram of a data multicast method according to another embodiment of the present disclosure;
FIG. 6 schematically shows a block diagram of a data multicasting apparatus according to an embodiment of the present disclosure; and
FIG. 7 schematically illustrates a block diagram of a computer system suitable for implementing the methods described in embodiments of the present disclosure, in accordance with embodiments of the present disclosure.
Detailed Description
Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. It should be understood that the description is illustrative only and is not intended to limit the scope of the present disclosure. In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the disclosure. It may be evident, however, that one or more embodiments may be practiced without these specific details. Moreover, in the following description, descriptions of well-known structures and techniques are omitted so as to not unnecessarily obscure the concepts of the present disclosure.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The terms "comprises," "comprising," and the like, as used herein, specify the presence of stated features, steps, operations, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, or components.
All terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. It is noted that the terms used herein should be interpreted as having a meaning that is consistent with the context of this specification and should not be interpreted in an idealized or overly formal sense.
Where a convention analogous to "at least one of A, B and C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B and C" would include but not be limited to systems that have a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.). Where a convention analogous to "A, B or at least one of C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B or C" would include but not be limited to systems that have a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.).
Some block diagrams and/or flow diagrams are shown in the figures. It will be understood that some blocks of the block diagrams and/or flowchart illustrations, or combinations thereof, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the instructions, which execute via the processor, create means for implementing the functions/acts specified in the block diagrams and/or flowchart block or blocks. The techniques of this disclosure may be implemented in hardware and/or software (including firmware, microcode, etc.). In addition, the techniques of this disclosure may take the form of a computer program product on a computer-readable storage medium having instructions stored thereon for use by or in connection with an instruction execution system.
The embodiment of the disclosure provides a data multicast method. The method comprises the steps of obtaining a multicast data message from an intranet, wherein the multicast data message comprises a target multicast group identifier; determining a target session corresponding to the target multicast group identifier according to the multicast group identifier and a preset corresponding relationship between the session and the multicast group identifier, wherein the corresponding relationship is set according to a membership report message sent by a user terminal of an external network; and sending the multicast data message to a user terminal of an external network through the target session.
Fig. 1A schematically shows a networking scenario based on IGMP (Internet Group Management Protocol). As shown in fig. 1A, in a multicast networking scenario of an IGMP network, IGMP is run in a router adjacent to a user terminal to collect and maintain multicast group membership information between the user terminal and a multicast router, multicast information between the multicast routers is maintained by a multicast routing protocol (e.g., PIM protocol), the IGMP protocol and the multicast routing protocol together construct a forwarding path from a multicast source to a multicast receiver, and multicast packets are distributed along a multicast distribution tree constructed by the multicast routing protocol and the IGMP protocol. For the networking scenario of fig. 1A, the IGMP message is broadcasted to notify the ue, which is not applicable for the L2TP access scenario.
Fig. 1B schematically shows a networking scenario diagram based on L2TP (Layer 2 Tunneling Protocol). As shown in fig. 1B, the user terminal (e.g. PC or other terminal) as L2TP LAC (L2TP access concentrator) obtains Internet access right and then performs L2TP dialing directly to connect to L2TP LNS (L2TP network server). After the user terminal L2TP completes dialing, all data packets including the IGMP packet traverse the intermediate network in a tunnel manner to reach the LNS, and especially in a scenario where the L2TP network is based on IPSEC (Internet protocol security, Internet security protocol), the packets are all in an encrypted state before the data packets reach the LNS decapsulation. In such networking scenario, the routers adjacent to the user terminal cannot obtain multicast group information by running IGMP or snooping IGMP.
From the virtual tunnel perspective, the user terminal, which is an LAC, is adjacent to the LNS. Therefore, although TTL of the IGMP packet is 1, after being encapsulated by the L2TP or L2TP over IPSEC tunnel, the IGMP packet can reach the LNS, and the LNS can obtain information of the original packet (i.e. IGMP packet) after decapsulating the L2TP packet. Therefore, in this embodiment, the LNS may be used as a virtual "adjacent" router of the user terminal, an IGMP protocol is run on a virtual Tunnel port of the LNS, and by performing decapsulation operation on the L2TP message, the resulting IGMP message obtained after decapsulation is snooped, so as to obtain multicast group information added by the user terminal.
Based on this, fig. 1C schematically illustrates an exemplary application scenario 100 to which the data multicast method may be applied according to an embodiment of the present disclosure. It should be noted that fig. 1C is only an example of an application scenario in which the embodiments of the present disclosure may be applied to help those skilled in the art understand the technical content of the present disclosure, but does not mean that the embodiments of the present disclosure may not be applied to other devices, systems, environments or scenarios.
As shown in fig. 1C, the application scenario 100 according to this embodiment may include a multicast source 110, multicast routers (routers) 121, 122, 123, 124, 125, 126, intranet user terminals 131, 132, extranet user terminals 141, 142, and a network (Internet) 150. The network 150 serves as a medium for providing a communication link between the multicast router 126 and the extranet user terminals 141, 142. Network 150 may include various connection types, such as wired, wireless communication links, or fiber optic cables, to name a few.
The multicast router 126 may also act as an L2TP web server. A user may establish an L2TP tunnel and an L2TP session with the multicast router 126 over the network 150 using the extranet user terminals 141, 142. The user terminals 141, 142 may actively send IGMP membership report messages to the multicast router 126 via the L2TP tunnel to declare to join the multicast group. The multicast router 126 decapsulates the L2TP to obtain an IGMP packet of the inner layer, and establishes a correspondence between the L2TP session and the multicast group by parsing the IGMP packet.
The multicast source 110 is used to transmit multicast data to implement multicast. The multicast data may be forwarded to the intranet user terminals 131, 132 via the multicast routers 121, 122, 123, 124, 125, 126, and sent to the multicast router 126 via the multicast routers 121, 123, where the multicast data is L2TP encapsulated by the multicast router 126 and sent to the extranet user terminals 141, 142 through an L2TP virtual tunnel in the network 150.
It should be noted that the data multicast method provided by the embodiment of the present disclosure may be generally executed by the multicast router 126. Accordingly, the data multicast apparatus provided by the embodiments of the present disclosure may be generally disposed in the multicast router 126. The data multicast method provided by the embodiment of the present disclosure may also be executed by a server or a server cluster that is different from the multicast router 126 and is capable of communicating with the extranet user terminals 141, 142 and/or the multicast router 126. Accordingly, the data multicast apparatus provided by the embodiment of the present disclosure may also be disposed in a server or a server cluster different from the multicast router 126 and capable of communicating with the extranet user terminals 141, 142 and/or the multicast router 126.
It should be understood that the number of end devices, routers, networks, and servers in fig. 1C are merely illustrative. There may be any number of end devices, routers, networks, and servers, as desired for implementation.
Fig. 2A schematically shows a flow chart of a data multicast method according to an embodiment of the present disclosure.
As shown in fig. 2A, the method includes operations S210 to S230, which may be performed by a router, which may be located in an intranet and may be connected to an extranet. For example, in this embodiment, the router may be a multicast router, and the multicast router may also assume the roles of an L2TP network server, and the like.
In operation S210, a multicast data packet from the intranet is obtained.
According to an embodiment of the present disclosure, the multicast data packet may include a target multicast group identifier. The multicast data message may be sent by a multicast source located in the intranet. It should be noted that the multicast data packet may be directly sent from the multicast source to the router executing the method, or may be forwarded to the router through other network devices (e.g., a router, etc.), which is not specifically limited in this disclosure.
According to an embodiment of the present disclosure, the multicast data packet may be, for example, an IGMP packet.
In operation S220, a target session corresponding to the target multicast group identifier is determined according to the multicast group identifier and a preset correspondence between the session and the multicast group identifier, where the correspondence is set according to a membership report packet sent by a user terminal of an external network.
According to an embodiment of the present disclosure, the correspondence includes a correspondence between at least one pair of session and multicast group identification. The session refers to a session between the router and a user terminal of the external network. The multicast group identification is used to indicate a multicast group. In this embodiment, one multicast group may include one or more user terminals, and accordingly, one multicast identifier may correspond to a session between one or more user terminals and a router.
According to an embodiment of the present disclosure, the correspondence between the session and the multicast group identifier may be stored in a database.
In operation S230, the multicast data packet is transmitted to the user terminal of the external network through the target session.
According to the embodiment of the present disclosure, multicast data packets may be encapsulated based on a Layer 2 Tunneling Protocol (L2TP) to obtain encapsulated packets, and then encapsulated packets of a first preset number are obtained by copying, where the first preset number is the same as the number of target sessions, and one encapsulated packet is sent to an external network through each target session, so that the encapsulated packets are sent to user terminals of each external network through operating the target sessions.
According to the embodiment of the present disclosure, the multicast data packet is discarded under the condition that the target session corresponding to the target multicast group identifier does not exist in the correspondence between the session and the multicast group identifier.
Fig. 2B schematically shows a flow chart of a data multicast method according to an embodiment of the present disclosure.
As shown in fig. 2B, the method may further include the following operations S240 to S270 in addition to the operations S210 to S230. For example, in the present embodiment, operations S240 to S270 may be performed before operation S210, for example. According to other embodiments of the present disclosure, operations S240 to S270 may also be performed after operation S230 to update the correspondence between the session and the multicast group identity.
In operation S240, a membership report packet from a user terminal is acquired through an established session between the router and the user terminal.
According to an embodiment of the present disclosure, a user terminal is located in an external network. A session between a router and a user terminal may be established by: and establishing a network tunnel for connecting the router and the user terminal based on the second layer tunneling protocol, and then establishing a session between the router and the user terminal based on the network tunnel.
After establishing the session, the router may obtain a membership report message from the user terminal through the session. It should be noted that the user terminal member may send the active relationship report message to the router, or may send the active relationship report message to the router in response to a request from the router.
In operation S250, a decapsulation operation is performed on the membership report packet to obtain an inner layer packet, where the inner layer packet is a packet based on an internet group management protocol.
In operation S260, the multicast group identifier is obtained by parsing the inner layer packet.
In operation S270, a correspondence between the session and the multicast group identity is recorded.
According to the embodiment of the present disclosure, after the membership report packet is obtained, a decapsulation operation may be performed on the membership report packet to obtain an inner layer packet, and for example, the inner layer packet in this embodiment may be based on an internet group management protocol. Then, the multicast group identification is obtained by analyzing the inner layer message, and then the corresponding relation between the session and the multicast group identification is recorded.
Different from the solution provided by RFC4045, the data multicast method according to the embodiment of the present disclosure does not need to extend the L2TP protocol itself, and therefore does not need to require support of LNS and LAC vendors of L2TP, does not need to greatly modify the original network structure, and only needs to modify software on the L2TP network server side, so that the multicast service can be carried on the L2TP or L2TP over IPSEC tunnel, which is a method for realizing that the L2TP tunnel carries the multicast service at low cost.
Fig. 3 schematically shows a flow chart of a data multicasting method according to another embodiment of the present disclosure.
As shown in fig. 3, the method may further include operations S310 to S320 in addition to operations S210 to S270.
In operation S310, a leave request packet from a user terminal is acquired through an established session between a router and the user terminal.
According to the embodiment of the disclosure, the leaving request message includes a multicast group identifier, and the multicast group identifier is used for indicating a multicast group which the user terminal intends to leave. The leave request message may include one or more multicast group identifications.
In operation S320, the correspondence between the session to which the departing user terminal belongs and the multicast group identity is deleted.
According to the embodiment of the present disclosure, a decapsulation operation may be performed on the leave request packet to obtain an inner layer packet of the leave request packet, and for example, the inner layer packet of the leave request packet in this embodiment may also be based on an internet group management protocol. Then, the multicast group identification is obtained by analyzing the inner layer message of the leaving request message, and then the corresponding relation between the session and the multicast group identification is searched and deleted from the database. If the subsequent router receives the multicast message with the purpose of the user terminal, the multicast message is not distributed to the session corresponding to the user terminal.
Fig. 4 schematically shows a flow chart of a data multicasting method according to another embodiment of the present disclosure.
As shown in fig. 4, the method may further include operations S410 to S420 in addition to the operations S210 to S270, and S310 to S320.
In operation S410, a query message is sent to the user terminal at a preset time interval through the established session between the router and the user terminal, so that the user terminal sends a membership report message including a multicast group identifier to the router in response to the query message.
According to an embodiment of the present disclosure, operation S410 may include, for example, generating an original query request, copying the original query request to obtain a second preset number of query messages, where the second preset number is the same as the number of established sessions, and then sending one query message to a user terminal corresponding to each established session through each established session
In operation S420, in a case that the membership report packet is not received within a preset time period after the query packet is sent, the correspondence between the session to which the query packet belongs and the multicast group identifier is deleted.
According to the embodiment of the disclosure, the preset time interval and the preset duration can be set according to actual needs.
According to the embodiment of the disclosure, after receiving the query message, the user terminal responds to the membership report message containing the multicast group identifier if the user terminal joins the multicast group. And after receiving the member relationship report message, the router updates the stored corresponding relationship according to the member relationship report message. If the membership report message of the user terminal is not received after a long time after the query message is sent, determining that the user terminal exits the multicast group, and deleting the stored corresponding relationship between the session and the identifier of the multicast group.
The method shown in fig. 2-3 is further described with reference to fig. 5 and the specific embodiment.
One example embodiment in accordance with an embodiment of the present disclosure is shown below. Those skilled in the art will appreciate that the following example embodiments are only for the understanding of the present disclosure, and the present disclosure is not limited thereto. In this embodiment, by using the networking mode shown in fig. 1C, RouterA assumes the role of L2TP LNS and also assumes the function of a multicast router, and RouterA may be used to open an IGMP protocol on a virtual tunnel port.
Fig. 5 schematically illustrates a logic diagram of a data multicast method according to another embodiment of the present disclosure.
As shown in fig. 5, after the user terminal a successfully performs the L2TP dialing, an L2TP tunnel and an L2TP session are established between the user terminal a and Route a, and it is assumed that the L2TP session is SessionA. All messages of the user terminal A reach RouteA after being encapsulated by the unique L2TP session Session A, and similarly, the user terminal B performs L2TP dialing to establish the session Session B with Route A.
If user terminal a wants to join multicast Group1, user terminal a will actively send an IGMP membership report message to declare joining. The IGMP membership report message reaches RouteA through an L2TP tunnel, RouteA decapsulates L2TP to obtain an inner IGMP message, and establishes a corresponding relationship between an L2TP session and a multicast group by parsing the IGMP message.
If the IGMP message is added into the multicast Group1, RouteA establishes a corresponding relationship between Session A and Group 1. Similarly, if the user terminal B also joins the Group1, the corresponding relationship between SessionB and Group1 is established.
Because the RouteA opens the IGMP protocol, the RouteA sends an IGMP query message at regular time to maintain the multicast membership. RouteA copies the IGMP query message entering the L2TP tunnel into multiple copies, and distributes the IGMP query message to all L2TP sessions, namely all the user terminals accessed by L2 TP.
After receiving the IGMP query message, the user terminal responds to the IGMP membership report message if the user terminal joins the multicast group, and after receiving the message, the LNS updates the corresponding relationship between the L2TP Session and the multicast group. If the corresponding relation between the L2TP and the multicast group exists, but the IGMP membership report message is not received for a long time, the LNS considers that the user terminal already exits the multicast group, and deletes the corresponding relation between the L2TP Session and the multicast group.
If RouteA receives the multicast data packet to the multicast Group1, RouteA (LNS) needs to traverse all L2TP sessions, find all L2TP sessions associated with Group1, where the number of sessions found is 2, including Session a and Session b, and RouteA (LNS) copies 2 multicast data packets to all found L2TP sessions, that is, Session a and Session b. If RouteA receives the multicast data message of the multicast Group2, all L2TP sessions on the LNS are not associated with Group2, which means that no L2TP dial-up user joins the multicast Group2, and the LNS discards the multicast message.
If the user terminal A needs to leave the multicast Group1, A sends an IGMP message leaving the multicast Group, the message reaches RouteA through an L2TP tunnel, RouteA (L2TP LNS) deletes the corresponding relation between Session A and Group1 through analyzing the decapsulated IGMP message, and the subsequent RouteA does not distribute to Session A if receiving the multicast message aiming at Group 1.
According to the data multicast method of the embodiment of the disclosure, the multicast protocol can be operated in the L2TP tunnel to forward the multicast message to the user terminal of the external network, the original network architecture of the user terminal does not need to be modified, only the software modification needs to be performed on the L2TP network server side, and the L2TP tunnel can bear the multicast service at a lower cost.
Fig. 6 schematically shows a block diagram of a data multicasting apparatus according to an embodiment of the present disclosure.
Different from the solution provided by RFC4045, the data multicast method according to the embodiment of the present disclosure does not need to extend the L2TP protocol itself, and therefore does not need to require support of LNS and LAC vendors of L2TP, does not need to greatly modify the original network structure, and only needs to modify software on the L2TP network server side, so that the multicast service can be carried on the L2TP or L2TP over IPSEC tunnel, which is a method for realizing that the L2TP tunnel carries the multicast service at low cost.
As shown in fig. 6, the data multicasting apparatus 600 includes a first obtaining module 610, a first determining module 620 and a sending module 630. The data multicast apparatus 600 may perform the method described above with reference to fig. 2A-5.
Specifically, the first obtaining module 610 may obtain a multicast data packet from an intranet, where the multicast data packet includes a target multicast group identifier.
The first determining module 620 may determine a target session corresponding to the target multicast group identifier according to the multicast group identifier and a preset correspondence between the session and the multicast group identifier, where the correspondence is set according to a membership report packet sent by a user terminal of an external network.
The sending module 630 may send the multicast data packet to the user terminal of the external network through the target session.
According to the data processing device provided by the embodiment of the disclosure, the multicast protocol can be operated in the L2TP tunnel to forward the multicast message to the user terminal of the external network, the original network architecture of the user terminal does not need to be modified, only software modification needs to be performed on the L2TP network server side, and the L2TP tunnel can bear the multicast service at a lower cost.
Any number of modules, sub-modules, units, sub-units, or at least part of the functionality of any number thereof according to embodiments of the present disclosure may be implemented in one module. Any one or more of the modules, sub-modules, units, and sub-units according to the embodiments of the present disclosure may be implemented by being split into a plurality of modules. Any one or more of the modules, sub-modules, units, sub-units according to embodiments of the present disclosure may be implemented at least in part as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented in any other reasonable manner of hardware or firmware by integrating or packaging a circuit, or in any one of or a suitable combination of software, hardware, and firmware implementations. Alternatively, one or more of the modules, sub-modules, units, sub-units according to embodiments of the disclosure may be at least partially implemented as a computer program module, which when executed may perform the corresponding functions.
For example, any plurality of the first obtaining module 610, the first determining module 620, and the sending module 630 may be combined and implemented in one module, or any one of them may be split into a plurality of modules. Alternatively, at least part of the functionality of one or more of these modules may be combined with at least part of the functionality of the other modules and implemented in one module. According to an embodiment of the present disclosure, at least one of the first obtaining module 610, the first determining module 620, and the sending module 630 may be implemented at least partially as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented by hardware or firmware in any other reasonable manner of integrating or packaging a circuit, or may be implemented by any one of three implementations of software, hardware, and firmware, or any suitable combination of any of the three. Alternatively, at least one of the first obtaining module 610, the first determining module 620 and the sending module 630 may be at least partially implemented as a computer program module, which when executed, may perform a corresponding function.
FIG. 7 schematically illustrates a block diagram of a computer system suitable for implementing the above-described method according to an embodiment of the present disclosure. The computer system illustrated in FIG. 7 is only one example and should not impose any limitations on the scope of use or functionality of embodiments of the disclosure.
As shown in fig. 7, computer system 700 includes a processor 710 and a computer-readable storage medium 720. The computer system 700 may perform a method according to an embodiment of the disclosure.
In particular, processor 710 may comprise, for example, a general purpose microprocessor, an instruction set processor and/or associated chipset, and/or a special purpose microprocessor (e.g., an Application Specific Integrated Circuit (ASIC)), and/or the like. The processor 710 may also include on-board memory for caching purposes. Processor 710 may be a single processing unit or a plurality of processing units for performing the different actions of the method flows according to embodiments of the present disclosure.
Computer-readable storage medium 720, for example, may be a non-volatile computer-readable storage medium, specific examples including, but not limited to: magnetic storage devices, such as magnetic tape or Hard Disk Drives (HDDs); optical storage devices, such as compact disks (CD-ROMs); a memory, such as a Random Access Memory (RAM) or a flash memory; and so on.
The computer-readable storage medium 720 may include a computer program 721, which computer program 721 may include code/computer-executable instructions that, when executed by the processor 710, cause the processor 710 to perform a method according to an embodiment of the disclosure, or any variation thereof.
The computer program 721 may be configured with, for example, computer program code comprising computer program modules. For example, in an example embodiment, code in computer program 721 may include one or more program modules, including 721A, modules 721B, … …, for example. It should be noted that the division and number of modules are not fixed, and those skilled in the art may use suitable program modules or program module combinations according to actual situations, so that the processor 710 may execute the method according to the embodiment of the present disclosure or any variation thereof when the program modules are executed by the processor 710.
According to an embodiment of the present invention, at least one of the first obtaining module 610, the first determining module 620 and the sending module 630 may be implemented as a computer program module described with reference to fig. 7, which, when executed by the processor 710, may implement the respective operations described above.
The present disclosure also provides a computer-readable storage medium, which may be contained in the apparatus/device/system described in the above embodiments; or may exist separately and not be assembled into the device/apparatus/system. The computer-readable storage medium carries one or more programs which, when executed, implement the method according to an embodiment of the disclosure.
According to embodiments of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium, which may include, for example but is not limited to: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Those skilled in the art will appreciate that various combinations and/or combinations of features recited in the various embodiments and/or claims of the present disclosure can be made, even if such combinations or combinations are not expressly recited in the present disclosure. In particular, various combinations and/or combinations of the features recited in the various embodiments and/or claims of the present disclosure may be made without departing from the spirit or teaching of the present disclosure. All such combinations and/or associations are within the scope of the present disclosure.
While the disclosure has been shown and described with reference to certain exemplary embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the disclosure as defined by the appended claims and their equivalents. Accordingly, the scope of the present disclosure should not be limited to the above-described embodiments, but should be defined not only by the appended claims, but also by equivalents thereof.

Claims (12)

1. A data multicast method for a router, the method comprising:
acquiring a multicast data message from an intranet, wherein the multicast data message comprises a target multicast group identifier;
determining a target session corresponding to the target multicast group identifier according to the multicast group identifier and a preset corresponding relationship between the session and the multicast group identifier, wherein the corresponding relationship is set according to a membership report message sent by a user terminal of an external network; and
and sending the multicast data message to a user terminal of an external network through the target session.
2. The method of claim 1, wherein the method further comprises:
acquiring a membership report message from a user terminal through an established session between a router and the user terminal, wherein the membership report message comprises a multicast group identifier;
decapsulating the membership report message to obtain an inner layer message, wherein the inner layer message is a message based on an internet group management protocol;
acquiring a multicast group identifier by analyzing the inner layer message; and
and recording the corresponding relation between the session and the multicast group identification.
3. The method of claim 1, further comprising:
establishing a network tunnel connecting the router and the user terminal based on a second layer tunnel protocol; and
and establishing a session between the router and the user terminal based on the network tunnel.
4. The method of claim 1, wherein the sending the multicast data packet to the user terminal of the external network through the target session comprises:
based on a second layer tunnel protocol, packaging the multicast data message to obtain a packaged message;
copying to obtain a first preset number of the encapsulation messages, wherein the first preset number is the same as the number of the target sessions; and
and respectively sending an encapsulation message to the external network through each target session.
5. The method of claim 1, further comprising:
acquiring a leave request message from a user terminal through an established session between a router and the user terminal, wherein the leave request message comprises a multicast group identifier; and
and deleting the corresponding relation between the session to which the user terminal leaves and the multicast group identifier.
6. The method of claim 1, further comprising:
sending a query message to a user terminal at a preset time interval through an established session between a router and the user terminal, so that the user terminal sends a membership report message containing a multicast group identifier to the router in response to the query message; and
and deleting the corresponding relation between the session to which the query message belongs and the multicast group identifier under the condition that the membership report message is not received within the preset time after the query message is sent.
7. The method of claim 6, wherein the sending the query message to the user terminal comprises:
copying to obtain a second preset number of the query messages, wherein the second preset number is the same as the number of the established sessions; and
and respectively sending an inquiry message to the user terminal corresponding to the session through each established session.
8. The method of claim 1, further comprising:
and under the condition that the corresponding relation between the session and the multicast group identification does not have a target session corresponding to the target multicast group identification, discarding the multicast data message.
9. A data multicasting apparatus comprising:
the first acquisition module is used for acquiring a multicast data message from an intranet, wherein the multicast data message comprises a target multicast group identifier;
a first determining module, configured to determine a target session corresponding to the target multicast group identifier according to the multicast group identifier and a preset correspondence between sessions and multicast group identifiers, where the correspondence is set according to a membership report packet sent by a user terminal of an external network; and
and the sending module is used for sending the multicast data message to a user terminal of an external network through the target session.
10. An electronic device, comprising:
one or more processors;
a memory for storing one or more computer programs,
wherein the one or more computer programs, when executed by the one or more processors, cause the one or more processors to implement the method of any of claims 1 to 8.
11. A computer readable storage medium having stored thereon executable instructions which, when executed by a processor, cause the processor to carry out the method of any one of claims 1 to 8.
12. A computer program product comprising computer executable instructions for implementing a method according to any one of claims 1 to 8 when executed.
CN202011642662.0A 2020-12-30 2020-12-30 Data multicasting method, apparatus, electronic device, medium, and program product Pending CN112769581A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011642662.0A CN112769581A (en) 2020-12-30 2020-12-30 Data multicasting method, apparatus, electronic device, medium, and program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011642662.0A CN112769581A (en) 2020-12-30 2020-12-30 Data multicasting method, apparatus, electronic device, medium, and program product

Publications (1)

Publication Number Publication Date
CN112769581A true CN112769581A (en) 2021-05-07

Family

ID=75698733

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011642662.0A Pending CN112769581A (en) 2020-12-30 2020-12-30 Data multicasting method, apparatus, electronic device, medium, and program product

Country Status (1)

Country Link
CN (1) CN112769581A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113315815A (en) * 2021-05-10 2021-08-27 华锐分布式(北京)技术有限公司 File transmission method and device, computer equipment and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050163146A1 (en) * 2004-01-26 2005-07-28 Migaku Ota Packet transfer apparatus
CN104579704A (en) * 2013-10-18 2015-04-29 杭州华三通信技术有限公司 Multicast data message forwarding method and device
CN105897444A (en) * 2016-05-26 2016-08-24 杭州华三通信技术有限公司 Multicast group management method and device
CN109391909A (en) * 2017-08-14 2019-02-26 华为技术有限公司 A kind of method of multicasting and device
CN110098942A (en) * 2018-01-31 2019-08-06 华为技术有限公司 Message transmitting method, equipment and system
CN110392347A (en) * 2018-04-16 2019-10-29 上海华为技术有限公司 Data transmission method and device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050163146A1 (en) * 2004-01-26 2005-07-28 Migaku Ota Packet transfer apparatus
CN104579704A (en) * 2013-10-18 2015-04-29 杭州华三通信技术有限公司 Multicast data message forwarding method and device
CN105897444A (en) * 2016-05-26 2016-08-24 杭州华三通信技术有限公司 Multicast group management method and device
CN109391909A (en) * 2017-08-14 2019-02-26 华为技术有限公司 A kind of method of multicasting and device
EP3654673A4 (en) * 2017-08-14 2020-05-20 Huawei Technologies Co., Ltd. Multicast method and device
CN110098942A (en) * 2018-01-31 2019-08-06 华为技术有限公司 Message transmitting method, equipment and system
CN110392347A (en) * 2018-04-16 2019-10-29 上海华为技术有限公司 Data transmission method and device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113315815A (en) * 2021-05-10 2021-08-27 华锐分布式(北京)技术有限公司 File transmission method and device, computer equipment and storage medium
CN113315815B (en) * 2021-05-10 2023-03-03 华锐分布式(北京)技术有限公司 File transmission method and device, computer equipment and storage medium

Similar Documents

Publication Publication Date Title
US9871718B2 (en) Method and device for registering multicast source and establishing multicast path
US9525563B2 (en) Forwarding packets in an edge device
US6963573B1 (en) System, device, and method for receiver access control in a multicast communication system
JP4165196B2 (en) Packet relay device
WO2016115987A1 (en) Method and apparatus for multicast forwarding
US7310730B1 (en) Method and apparatus for communicating an encrypted broadcast to virtual private network receivers
KR20120058782A (en) Terminal and intermediate node in content oriented network environment and method of commnication thereof
WO2019061521A1 (en) Proxy forwarding method and device, proxy server and multi-level proxy network
TWI424712B (en) Method for multicast tree management
US9191219B2 (en) Network multicast peer discovery methods
US20070127473A1 (en) Interdomain bi-directional protocol independent multicast
CN105637819B (en) It is used for transmission the method and system of broadcast data
JP4436960B2 (en) Packet communication system and mobile communication system
CN101247549B (en) Multicast method, multicast system and multicast equipment
CN101605103A (en) A kind of method of static forwarding multicast data and device
WO2017117956A1 (en) Information transmission method and device
US20100303072A1 (en) Multicast Source Mobility
US20150043578A1 (en) Home Network Packet Delivery
CN108512669A (en) It is used for transmission the method and system of broadcast data
CN101087246B (en) A system and method for realizing network layer multicast service and service management
CN112769581A (en) Data multicasting method, apparatus, electronic device, medium, and program product
WO2019174552A1 (en) Multicast route processing method, network device, and route reflector
CN106357541A (en) Information transmission method and device
CN103716244A (en) Method and device enabling extra-VPN forwarding of multicasts to be achieved
US20120243536A1 (en) Method and apparatus for transmitting and receiving multicast data in social networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 100044 2nd floor, building 1, yard 26, Xizhimenwai South Road, Xicheng District, Beijing

Applicant after: Qianxin Wangshen information technology (Beijing) Co.,Ltd.

Applicant after: Qianxin Technology Group Co.,Ltd.

Address before: 100097 No. 202, 203, 205, 206, 207, 208, 2nd floor, block D, No. 51, Kunming Hunan Road, Haidian District, Beijing

Applicant before: LEGENDSEC INFORMATION TECHNOLOGY (BEIJING) Inc.

Applicant before: Qianxin Technology Group Co.,Ltd.

CB02 Change of applicant information