WO2022082825A1 - Multicast system and multicast method for identifier resolution-based routing - Google Patents

Multicast system and multicast method for identifier resolution-based routing Download PDF

Info

Publication number
WO2022082825A1
WO2022082825A1 PCT/CN2020/123951 CN2020123951W WO2022082825A1 WO 2022082825 A1 WO2022082825 A1 WO 2022082825A1 CN 2020123951 W CN2020123951 W CN 2020123951W WO 2022082825 A1 WO2022082825 A1 WO 2022082825A1
Authority
WO
WIPO (PCT)
Prior art keywords
multicast
processing node
identifier
request message
network address
Prior art date
Application number
PCT/CN2020/123951
Other languages
French (fr)
Chinese (zh)
Inventor
王劲林
李博
叶晓舟
朱小勇
程钢
Original Assignee
郑州芯兰德网络科技有限公司
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 郑州芯兰德网络科技有限公司 filed Critical 郑州芯兰德网络科技有限公司
Priority to JP2023548981A priority Critical patent/JP2023547269A/en
Publication of WO2022082825A1 publication Critical patent/WO2022082825A1/en

Links

Images

Definitions

  • the invention belongs to the technical field of network communication and data processing, and in particular relates to a multicast system and a multicast method based on identification resolution route.
  • Multicast technology refers to a kind of network communication in which a single sender corresponds to multiple receivers.
  • the network communication traffic can be reduced when multiple receivers listen or view the same resources at the same time.
  • the bandwidth length can be reduced by a (n-1) times.
  • the main feature of multicast technology is to divide the members of the application into a group according to the actual situation, and the distribution of data will be limited to the group. It can provide the same data transmission from a single point to multiple points in the network at the same time.
  • two or more destination network hosts do not need to send data packets on duplicate links, but only need to copy and distribute data packets at the branch nodes of the multicast tree, which can not only effectively save network resources, but also improve bandwidth utilization Rate.
  • all routers need to support the distributed multicast protocol, and the construction, maintenance and update of the multicast tree require a large amount of information exchange between multicast routers, and these control states will consume A large number of network resources make it difficult to deploy IP multicast on a large scale in traditional networks.
  • the present invention proposes a multicast system based on identification resolution route, the system includes: a multicast source, a multicast receiver, a multicast member agent and a multicast processing node;
  • the system also includes: an identification resolution service module deployed in the cloud or in the network, used for using a globally unique identifier irrelevant to the network address as a multicast identifier, capable of uniquely identifying a multicast service, while the network address is still IP the address of the network;
  • the network nodes that bear multicast include: multicast processing nodes and IP network routing switching nodes;
  • the multicast receiver is used to apply for joining the multicast service through the multicast identifier.
  • the identification resolution service module is also used to provide registration, cancellation, resolution query services; specifically:
  • the identification resolution service module supports the registration and deregistration of the mapping relationship between the multicast identifier and the IP network addresses of one or more multicast processing nodes, and queries the IP network addresses of the multicast processing nodes through the resolution of the multicast identifier ; wherein, a multicast identifier corresponds to the IP network addresses of one or more multicast processing nodes.
  • the number of the multicast processing nodes is one or more, which are used to realize the functions of the IP network routing switching nodes;
  • the multicast processing node located at the edge of the network adopts the multicast protocol proxy to modify the join request message sent by the multicast member proxy, and forwards the modified join request message to the selected multicast processing node.
  • the multicast processing node located at the edge of the network uses a multicast protocol proxy to modify the join request message sent by the multicast member proxy, and forwards the modified join request message to the selected Multicast processing node; its specific implementation process is:
  • the multicast processing node located at the edge of the network receives and processes the join request message based on the multicast identifier forwarded by the multicast member agent, sends a resolution request to the identification resolution service module, and parses the multicast identifier carried in the join request message. , obtain a group of multicast processing nodes corresponding to the multicast identifier carried in the join request message and their corresponding IP network addresses, select one of the multicast processing nodes, and modify the destination network address in the join request message to the selected one The IP address of the multicast processing node obtains the modified join request message, and forwards the modified join request message to the selected multicast processing node.
  • the modified join request message can also be constructed, encapsulated and sent.
  • the modified join request message is forwarded in a network layer message format, which includes: a source network address, a destination network address and a multicast identifier; wherein the source network address is The IP network address of the multicast member agent; the destination network address is the IP network address of a certain multicast processing node.
  • the multicast forwarding table includes: a group of multicast forwarding table entries
  • each multicast forwarding entry in the group of multicast forwarding entries further includes: a multicast identifier and an outgoing port list;
  • the outgoing port list further includes: multiple forwarding ports;
  • the multicast identifier is a key, and the outgoing port list is a value; a multicast identifier corresponds to one or more forwarding ports.
  • the multicast processing node is used to forward or process the modified join request message, and determine whether the destination network address in the modified join request message is the address of the currently received multicast processing node. network address, and forward the modified join request message or construct and forward the request response message according to the judgment result; the specific implementation process is as follows:
  • the multicast processing node receives the modified join request message, and determines whether the destination network address carried in the modified join request message is the IP network address of the multicast processing node currently receiving the modified join request message;
  • the IP network routing is performed. Forward to the correct multicast processing node;
  • the destination network address carried in the modified join request message is the network address of the multicast processing node that currently receives the modified join request message, update the local multicast forwarding table according to the modified join request message, and construct a Forward request response message.
  • the request response message is forwarded in a network layer message format, which includes: a source network address, a destination network address and a multicast identifier; wherein, the source network address is a multicast process The network address of the node; the destination network address is the network address of the multicast member proxy.
  • the local multicast forwarding table is updated, and the request response message is constructed and forwarded.
  • the specific process is:
  • the multicast processing node queries the locally maintained multicast forwarding table whether the multicast identifier carried in the modified join request message is included;
  • the multicast processing node finds the multicast identifier carried in the modified join request message in the local multicast forwarding table, then according to the source network address of the modified join request message, in the local routing table Query and get the forwarding port;
  • the multicast processing node constructs a request response message and a reply request response message, and the next multicast processing node updates the multicast forwarding table according to the forwarded request response message until it is forwarded to the multicast member agent;
  • the feedback is abnormal.
  • the next multicast processing node updates the multicast forwarding table according to the forwarded request response message until it is forwarded to the multicast member agent; specifically:
  • the next multicast processing node receives the forwarded request-response message, extracts the multicast identifier and destination network address from it, and finds the corresponding forwarding in the locally maintained routing table according to the destination network address carried in the request-response message port;
  • next multicast processing node finds the multicast identifier carried in the request response message in the locally maintained multicast forwarding table, it obtains the list of outgoing ports corresponding to the multicast identifier, and further determines the outgoing port. Whether the list contains the forwarding port;
  • the request response message is directly forwarded from the forwarding port
  • forwarding port If the forwarding port is not included in the outgoing port list, add the forwarding port in the outgoing port list, and directly forward the request response message from the forwarding port;
  • next multicast processing node If the next multicast processing node does not find the multicast identifier carried in the request response message in the local routing table, it will add the multicast identifier and the above forwarding port in the multicast forwarding table, and update the multicast forwarding published, and register the mapping relationship between the multicast identifier and the IP network address of the multicast processing node with the ID resolution service module, so as to become a multicast processing node corresponding to the multicast service, and the multicast processing node will The request-response message is forwarded from the forwarding port above until forwarded to the multicast member proxy.
  • the multicast data message includes a source network address, a destination network address and a multicast identifier; the source network address is a network address of an intra-network multicast processing node that implements multicast.
  • the multicast processing node is also used to forward multicast data packets; the specific implementation process is as follows:
  • the multicast forwarding table maintained locally contains the above-mentioned multicast identifier, all outgoing ports corresponding to the multicast identifier carried in the multicast data packet are obtained, and the multicast data packet is removed from the multicast forwarding table. All outgoing ports corresponding to the multicast identifier replicate the multicast data packet;
  • the multicast forwarding table does not contain the above-mentioned multicast identifier, error processing is performed, and the corresponding processing result is fed back.
  • multicast member agents there are one or more multicast member agents and one or more multicast receivers, and the multicast member agents and the multicast receivers are located in the same broadcast domain; multicast The member agent has a local local identifier, which is used for information exchange between the multicast receiver and the multicast member agent in the local broadcast domain;
  • the local local identifier is unique in the local broadcast domain, which is specifically, but not limited to, an IP multicast group address.
  • the present invention also provides a multicast method based on identification resolution route, the method includes:
  • Step 1) The multicast receiver sends a multicast member report message with a multicast identifier to the multicast member agent, and the multicast member agent constructs a join request message according to the multicast member report message, and sends the constructed join request message To the nearest multicast processing node at the network edge, the multicast processing node modifies the join request message sent by the multicast member proxy through the multicast protocol proxy, and forwards the modified join request message to the correct multicast processing node;
  • Step 2) The multicast processing node judges whether the destination network address of the received modified join request message is the network address of the currently received multicast processing node, and according to the judgment result, forwards the modified join request message or constructs and forwards the request response message;
  • Step 3 The multicast processing node updates the locally maintained multicast forwarding table according to the received request response message, and forwards the multicast data message to the multicast member agent according to the locally maintained multicast forwarding table.
  • the specific process of the step 1) is as follows:
  • the multicast source publishes the multicast service with the multicast identifier
  • the multicast receiver applies for joining the multicast service with the multicast identifier through the multicast identifier, and sends a message containing the multicast identifier to the local broadcast domain.
  • Multicast member report message ;
  • the multicast member agent receives the multicast member report message and constructs a join request message, and the multicast member agent sends the constructed join request message to the nearest multicast processing node located at the network edge,
  • the multicast processing node located at the edge of the network receives the join request message forwarded by the multicast member agent, requests a query from the identification resolution service module, and obtains a group of multicast processing nodes corresponding to the multicast identifier carried in the join request message and their corresponding network address, select one of the multicast processing nodes, modify the destination network address in the join request message to the network address of the selected multicast processing node, obtain the modified join request message, and forward the modified request message to The selected multicast processing node.
  • the specific process of the step 2) is as follows:
  • the multicast processing node receives the modified join request message, and determines whether the destination network address carried in the modified join request message is the network address of the multicast processing node currently receiving the modified join request message;
  • IP network routing is performed. Forward until forwarded to the correct multicast processing node;
  • the destination network address carried in the modified join request message is the network address of the multicast processing node currently receiving the modified join request message, update the locally maintained multicast forwarding table according to the modified join request message, and construct And forward the request response message.
  • the local multicast forwarding table is updated, and the request response message is constructed and forwarded, specifically:
  • the multicast processing node queries the locally maintained multicast forwarding table whether the multicast identifier carried in the modified join request message is included;
  • the multicast processing node finds the multicast identifier carried in the modified join request message in the local multicast forwarding table, then according to the source network address of the modified join request message, in the local routing table Query and get the forwarding port;
  • the multicast processing node constructs a request response message and a reply request response message, and the next multicast processing node updates the multicast forwarding table according to the forwarded request response message until it is forwarded to the multicast member agent;
  • the feedback is abnormal.
  • the next multicast processing node updates the multicast forwarding table according to the forwarded request response message until it is forwarded to the multicast member agent; specifically:
  • the next multicast processing node receives the forwarded request-response message, extracts the multicast identifier and destination network address from it, and finds the corresponding forwarding in the locally maintained routing table according to the destination network address carried in the request-response message port;
  • next multicast processing node finds the multicast identifier carried in the request response message in the local multicast forwarding table, it obtains the list of outgoing ports corresponding to the multicast identifier, and further judges the list of outgoing ports. Whether to include the forwarding port;
  • the request response message is directly forwarded from the forwarding port
  • forwarding port If the forwarding port is not included in the outgoing port list, add the forwarding port in the outgoing port list, and directly forward the request response message from the forwarding port;
  • next multicast processing node If the next multicast processing node does not find the multicast identifier carried in the request response message in the local multicast forwarding table, it will add the multicast identifier and the above forwarding port to the multicast forwarding table, and update the group broadcast forwarding table, and register the mapping relationship between the multicast identifier and the IP network address of the multicast processing node to the ID resolution service module, so as to become a multicast processing node corresponding to the multicast service, and the multicast processing node The request-response message is forwarded from the above forwarding port until it is forwarded to the multicast member proxy.
  • the multicast data message is forwarded to the multicast member agent, and the specific process is as follows:
  • the multicast processing node After receiving the multicast data packet, the multicast processing node queries whether the multicast forwarding table maintained locally contains the multicast identifier carried in the multicast data packet;
  • the multicast forwarding table maintained locally contains the above-mentioned multicast identifier, all outgoing ports corresponding to the multicast identifier carried in the multicast data packet are obtained, and the multicast data packet is removed from the multicast forwarding table. All outgoing ports corresponding to the multicast identifier replicate the multicast data packet,
  • the multicast forwarding table does not contain the above-mentioned multicast identifier, error processing is performed, and the corresponding processing result is fed back.
  • the error handling includes: discarding multicast data packets, feeding back error information to the upper-level multicast processing node, feeding back error information to all its adjacent multicast processing nodes, and updating the multicast forwarding table And add the multicast forwarding entry corresponding to the multicast identifier carried in the multicast data packet.
  • the method of the invention makes full use of the feature of separating the multicast identifier and the network address, realizes the mapping between the multicast identifier and the IP network address of the multicast processing node by identifying the resolution service module, and forwards the multicast datagram in the network.
  • the multicast processing node in this paper registers the multicast identifier and its IP address with the ID resolution service module, and the multicast receiver can obtain the nearby multicast processing nodes through the ID resolution service module, which simplifies the construction of the multicast tree and improves the efficiency of multicast services.
  • Fig. 1 is a kind of structure schematic diagram of the multicast system based on identification resolution route of the present invention
  • FIG. 2 is a schematic structural diagram of a multicast data message based on a multicast method for identifying and resolving routes according to the present invention
  • FIG. 3 is a schematic structural diagram of a multicast forwarding table based on a multicast method for identifying and resolving routes according to the present invention
  • FIG. 4 is a flowchart of processing a request-response message by a multicast processing node in a multicast method for route-based identification resolution according to the present invention
  • FIG. 5 is a flowchart of processing a multicast data message by a multicast processing node in a multicast method for route-based identification resolution according to the present invention
  • Fig. 6 is a kind of processing schematic diagram of the multicast receiver 1 joining the multicast service EID1 in a specific embodiment of the multicast method based on identification resolution route of the present invention
  • FIG. 7 is a schematic diagram of the processing of the multicast processing node 2 replying to a request response message in a specific embodiment of a multicast method based on identification resolution routing of the present invention
  • FIG. 8 is a schematic diagram of forwarding of a multicast data message in a specific embodiment of a multicast method for route-based identification resolution according to the present invention.
  • the present invention provides a multicast system based on identification resolution route
  • the system includes: a multicast source, a multicast receiver, a multicast member agent and a multicast processing node; the system also includes: a deployment
  • the identification resolution service module in the cloud or network is used to use a globally unique identifier unrelated to the network address as a multicast identifier, which can uniquely identify a multicast service, while the network address is still the address of the IP network;
  • the network nodes that bear multicast include: multicast processing nodes and IP network routing switching nodes, that is, ordinary routers;
  • the multicast receiver is used to apply for joining the multicast service through the multicast identifier.
  • the multicast identifier is a globally unique identifier that is independent of the network address and can uniquely identify a multicast service.
  • a multicast identifier corresponds to only one multicast service, and each multicast identifier corresponds to multiple multicast services.
  • the identification resolution service module is also used to provide registration, cancellation, resolution and query services; specifically:
  • the identification resolution service module supports the registration and deregistration of the mapping relationship between the multicast identifier and the IP network addresses of one or more multicast processing nodes that implement the multicast service, as well as querying the multicast processing through the resolution of the multicast identifier
  • the number of the multicast processing nodes is one or more, and is used to realize the functions of the IP network routing switching nodes; in addition to the functions of the IP network routing switching nodes, it also has the following functions:
  • the multicast processing node receives the modified join request message, and determines whether the destination network address carried in the modified join request message is the IP network address of the multicast processing node currently receiving the modified join request message;
  • the IP network routing is performed. Forward to the correct multicast processing node;
  • the destination network address carried in the modified join request message is the network address of the multicast processing node that currently receives the modified join request message, update the local multicast forwarding table according to the modified join request message, and construct a Forward request response message.
  • the multicast processing node queries whether the multicast forwarding table maintained locally contains the multicast identifier carried in the modified join request message;
  • the multicast processing node finds the multicast identifier carried in the modified join request message in the local multicast forwarding table, then according to the source network address of the modified join request message, in the local routing table Query and get the forwarding port;
  • the multicast processing node constructs a request response message and a reply request response message, and the next multicast processing node updates the multicast forwarding table according to the forwarded request response message until it is forwarded to the multicast member agent;
  • the next multicast processing node receives the forwarded request response message, extracts the multicast identifier and the destination network address from it, and maintains the local network address according to the destination network address carried in the request response message. Find the corresponding forwarding port in the routing table;
  • next multicast processing node finds the multicast identifier carried in the request response message in the locally maintained multicast forwarding table, it obtains the list of outgoing ports corresponding to the multicast identifier, and further determines the outgoing port. Whether the list contains the forwarding port;
  • the request response message is directly forwarded from the forwarding port
  • forwarding port If the forwarding port is not included in the outgoing port list, add the forwarding port in the outgoing port list, and forward the request-response message directly from the forwarding port;
  • next multicast processing node If the next multicast processing node does not find the multicast identifier carried in the request response message in the local routing table, it will add the multicast identifier and the above forwarding port in the multicast forwarding table, and update the multicast forwarding published, and register the mapping relationship between the multicast identifier and the IP network address of the multicast processing node with the ID resolution service module, so as to become a multicast processing node corresponding to the multicast service, and the multicast processing node will The request response message is forwarded from the above forwarding port until it is forwarded to the multicast member proxy;
  • the feedback is abnormal.
  • the request response message is forwarded in a network layer message format, which includes: a source network address, a destination network address and a multicast identifier; wherein the source network address is the network address of the multicast processing node; the The destination network address is the network address of the multicast member proxy.
  • the multicast forwarding table maintained locally contains the above-mentioned multicast identifier, all outgoing ports corresponding to the multicast identifier carried in the multicast data packet are obtained, and the multicast data packet is removed from the multicast forwarding table. All outgoing ports corresponding to the multicast identifier replicate the multicast data packet;
  • the multicast forwarding table does not contain the above-mentioned multicast identifier, error processing is performed, and the corresponding processing result is fed back.
  • the structure of the multicast data message is shown in Figure 2, and the multicast data message includes a source network address, a destination network address and a multicast identifier; the source network address is an intra-network multicast that implements multicast. The network address of the processing node.
  • the multicast processing node located at the edge of the network adopts the multicast protocol proxy to modify the join request message sent by the multicast member proxy, and forwards the modified join request message to the selected multicast processing node.
  • the multicast processing node located at the edge of the network receives and processes the join request message based on the multicast identifier forwarded by the multicast member agent, sends a resolution request to the ID resolution service module, and interprets the multicast ID carried in the join request message. parse the identifier, obtain a group of multicast processing nodes corresponding to the multicast identifier carried in the join request message and their corresponding IP network addresses, select one of the multicast processing nodes, and modify the destination network address in the join request message to the IP address of the selected multicast processing node, obtain the modified join request message, and forward the modified join request message to the selected multicast processing node;
  • the modified join request message can also be constructed, encapsulated and sent.
  • the modified join request message is forwarded in a network layer message format, which includes: a source network address, a destination network address and a multicast identifier; wherein the source network address is the IP network of the multicast member proxy address; the destination network address is the IP network address of a certain multicast processing node.
  • the multicast forwarding table includes: a group of multicast forwarding table entries
  • each multicast forwarding entry in the group of multicast forwarding entries further includes: a multicast identifier and an outgoing port list;
  • the outgoing port list further includes: multiple forwarding ports;
  • the multicast identifier is a key, and the outgoing port list is a value; one multicast identifier corresponds to multiple forwarding ports.
  • the multicast member agent is one or more, the multicast receiver is one or more, and the multicast member agent and the multicast receiver are located in the same broadcast domain; the multicast member agent has a local local identifier, It is used for information exchange between multicast receivers and multicast member agents in the local broadcast domain;
  • the local local identifier is unique in the local broadcast domain, which is specifically, but not limited to, an IP multicast group address.
  • the present invention also provides a multicast method based on identification resolution route, the method includes:
  • Step 1) The multicast receiver sends a multicast member report message with a multicast identifier to the multicast member agent, and the multicast member agent constructs a join request message according to the multicast member report message, and sends the constructed join request message To the nearest multicast processing node at the network edge, the multicast processing node modifies the join request message sent by the multicast member proxy through the multicast protocol proxy, and forwards the modified join request message to the correct multicast processing node;
  • the multicast source publishes the multicast service with the multicast identifier
  • the multicast receiver applies for joining the multicast service with the multicast identifier through the multicast identifier, and sends the multicast service containing the multicast identifier to the local broadcast domain. the identifier of the multicast membership report message;
  • the multicast member agent receives the multicast member report message and constructs a join request message, and the multicast member agent sends the constructed join request message to the nearest multicast processing node located at the network edge,
  • the multicast processing node located at the edge of the network receives the join request message forwarded by the multicast member agent, requests a query from the identification resolution service module, and obtains a group of multicast processing nodes corresponding to the multicast identifier carried in the join request message and their corresponding network address, select one of the multicast processing nodes, modify the destination network address in the join request message to the network address of the selected multicast processing node, obtain the modified join request message, and forward the modified request message to The selected multicast processing node.
  • Step 2) The multicast processing node judges whether the destination network address of the received modified join request message is the network address of the currently received multicast processing node, and according to the judgment result, forwards the modified join request message or constructs and forwards the request response message;
  • the multicast processing node receives the modified join request message, and determines whether the destination network address carried in the modified join request message is the network address of the multicast processing node currently receiving the modified join request message;
  • IP network routing is performed. Forward until forwarded to the correct multicast processing node;
  • the destination network address carried in the modified join request message is the network address of the multicast processing node currently receiving the modified join request message, update the locally maintained multicast forwarding table according to the modified join request message, and construct And forward the request response message.
  • the multicast processing node queries whether the multicast forwarding table maintained locally contains the multicast identifier carried in the modified join request message;
  • the multicast processing node finds the multicast identifier carried in the modified join request message in the local multicast forwarding table, then according to the source network address of the modified join request message, in the local routing table Query and get the forwarding port;
  • the multicast processing node constructs a request response message and a reply request response message, and the next multicast processing node updates the multicast forwarding table according to the forwarded request response message until it is forwarded to the multicast member agent;
  • next multicast processing node receives the forwarded request response message, extracts the multicast identifier and the destination network address from it, and searches the locally maintained routing table according to the destination network address carried in the request response message. the corresponding forwarding port;
  • next multicast processing node finds the multicast identifier carried in the request response message in the local multicast forwarding table, it obtains the list of outgoing ports corresponding to the multicast identifier, and further judges the list of outgoing ports. Whether to include the forwarding port;
  • the request response message is directly forwarded from the forwarding port
  • forwarding port If the forwarding port is not included in the outgoing port list, add the forwarding port in the outgoing port list, and directly forward the request response message from the forwarding port;
  • next multicast processing node If the next multicast processing node does not find the multicast identifier carried in the request response message in the local multicast forwarding table, it will add the multicast identifier and the above forwarding port to the multicast forwarding table, and update the group broadcast forwarding table, and register the mapping relationship between the multicast identifier and the IP network address of the multicast processing node to the ID resolution service module, so as to become a multicast processing node corresponding to the multicast service, and the multicast processing node The request-response message is forwarded from the above forwarding port until it is forwarded to the multicast member proxy.
  • the feedback is abnormal.
  • Step 3 The multicast processing node updates the locally maintained multicast forwarding table according to the received request response message, and forwards the multicast data message to the multicast member agent according to the locally maintained multicast forwarding table.
  • the multicast processing node queries whether the locally maintained multicast forwarding table contains the multicast identifier carried in the multicast data message;
  • the multicast forwarding table maintained locally contains the above-mentioned multicast identifier, all outgoing ports corresponding to the multicast identifier carried in the multicast data packet are obtained, and the multicast data packet is removed from the multicast forwarding table. All outgoing ports corresponding to the multicast identifier replicate the multicast data packet,
  • the multicast forwarding table does not contain the above-mentioned multicast identifier, error processing is performed, and the corresponding processing result is fed back.
  • the error handling includes: discarding the multicast data message, feeding back error information to the upper-level multicast processing node, feeding back error information to all its adjacent multicast processing nodes, updating the multicast forwarding table and adding the multicast datagram The multicast forwarding entry corresponding to the multicast identifier carried in the text.
  • the multicast forwarding table includes: a group packet identifier and a list of outgoing ports; the multicast identifier is a key, corresponding to the data carried in the multicast data message. Multicast identifier; the list of outgoing ports is a value, corresponding to a group of forwarding ports for forwarding multicast data packets.
  • Multicast identifier refers to a globally unique identifier that is independent of network address and can represent a multicast service;
  • network address refers to network routable address information where the terminal is located, including but not limited to the use of IP addresses, etc. information.
  • Each port of the multicast processing node has an IP address, and we designate one of the IP addresses as the IP address of the multicast processing node, which represents the location information of the multicast processing node.
  • the multicast identifier is represented by EID (Entity ID), and the network address is represented by IP address.
  • the multicast source 1 publishes the multicast service whose multicast identifier is EID1, and the mapping relationship between the multicast identifier EID1 and the network address IP2 of the multicast processing node 1 has been registered in the identification resolution service module.
  • the multicast processing node 3 and the multicast processing node 4 are edge nodes of the network, which have the function of multicast protocol proxy.
  • multicast source 1 publishes a multicast service with the multicast identifier EID1
  • multicast receiver 2 has joined the multicast service through the multicast identifier EID1
  • multicast processing node 1 multicast processing node 2
  • the multicast processing node 4 have registered the mapping between the multicast identifier EID1 and its network address with the identity resolution service module.
  • the identity resolution service module maintains the mapping relationship between the multicast identifier EID1 and IP2, IP3, and IP7.
  • the multicast receiver 1 applies for joining the multicast service with the multicast identifier EID1 through the multicast identifier EID1.
  • the multicast receiver 1 obtains the multicast group network address IPm1 corresponding to the multicast identifier EID1, and sends it to the local broadcast domain.
  • Multicast membership report message containing the multicast identifier
  • the multicast member agent 1 receives the multicast member report message, maintains the mapping relationship between the multicast group network addresses IPm1 corresponding to the multicast identifier EID1, and constructs a join request message in the network layer message format Forwarding, which includes: the network address IP5 of the multicast member agent as the source network address, the network address IP4 of the multicast processing node 3 located at the network edge closest to the multicast member agent as the destination network address, and the multicast identifier EID1 , the multicast member proxy 1 sends the join request message to the multicast processing node 3 located at the network edge closest to the multicast member proxy;
  • the multicast processing node 3 receives the join request message sent by the multicast member agent 1, and sends a resolution request for the multicast identifier EID1 carried in the join request message to the identification resolution service module through the multicast protocol agent, and identifies the resolution service module.
  • the module returns the network addresses IP2, IP3 and IP7 of a group of multicast processing nodes corresponding to the multicast identifier EID1.
  • the multicast processing node 3 selects the multicast processing node 2 whose network address is IP3 as the target multicast processing node, modifies the destination network address in the join request message to the IP network address IP3 of the multicast processing node 2, and obtains the modified join
  • the request message, the modified join request message is forwarded in the network layer message format, which includes: the source network address is the multicast group network address IP5 of the multicast member agent 1, and the destination network address is the network address of the multicast processing node 2.
  • the address IP3 and the multicast identifier EID1; the multicast processing node 3 forwards the modified join request message to the multicast processing node 2;
  • the multicast processing node 2 receives the modified join request message, and determines that the destination IP address IP3 of the join request message is the IP address of the multicast processing node 2 .
  • the multicast processing node 2 extracts the source network address IP5 and the multicast identifier EID1 in the join request message.
  • the multicast processing node 2 obtains the multicast identifier EID1 carried in the modified join request message by querying the locally maintained multicast forwarding table, and the multicast processing node 2, according to the source network address IP5 of the modified join request message, Query the local routing table and get forwarding port 2;
  • the multicast processing node 2 finds that the outgoing port list corresponding to the multicast identifier EID1 in the multicast forwarding table does not contain the forwarding port 2 obtained by the above query, and then adds the forwarding port 2 to the outgoing port list;
  • the multicast processing node constructs and replies a request-response message, the request-response message is forwarded in a network layer message format, which includes: the source network address is the network address IP3 of the multicast processing node 2, and the destination network address is the multicast member proxy 1's network address IP5 and multicast identifier EID1.
  • the multicast processing node 3 receives the request response message, extracts the multicast identifier EID1 and the destination network address IP5 from it, and finds the corresponding forwarding in the locally maintained routing table according to the destination network address IP5 carried in the request response message port 2;
  • the multicast processing node 3 queries whether the multicast forwarding table maintained locally contains the multicast identifier EID1 carried in the request response message,
  • the multicast processing node 3 does not find the multicast identifier EID1 in the locally maintained multicast forwarding table, then adds the multicast identifier EID1 and the above-mentioned forwarding port 2 in the multicast forwarding table, and registers it with the identification resolution service module
  • the mapping relationship between the multicast identifier EID1 and the IP network address IP4 of the multicast processing node 3 becomes a multicast processing node that implements multicast corresponding to the multicast service.
  • Forwarding port 2 forwards the request-response message to multicast member agent 1.
  • multicast source 1 generates and sends multicast data packets
  • the multicast processing node 1 After receiving the multicast data packet, the multicast processing node 1 queries the locally maintained multicast forwarding table and obtains that the outgoing port corresponding to the multicast identifier EID1 carried in the multicast data packet is port 2. The packet is forwarded from port 2 to multicast processing node 2;
  • the multicast processing node 2 After receiving the multicast data packet, the multicast processing node 2 queries the locally maintained multicast forwarding table to obtain the outgoing ports corresponding to the multicast identifier EID1 carried in the multicast data packet as port 2 and port 3. Copy one multicast data message, obtain two multicast data messages, and forward the two multicast data messages from port 2 and port 3 to the corresponding multicast processing node 3 and multicast processing node 4 respectively;
  • the multicast processing node 3 After the multicast processing node 3 receives the multicast data packet, it queries the locally maintained multicast forwarding table and obtains that the outgoing port corresponding to the multicast identifier EID1 carried in the multicast data packet is port 2. Data packets are forwarded from port 2 to multicast member proxy 1;
  • the multicast member agent 1 After the multicast member agent 1 receives the multicast data packet, it changes the destination network address of the multicast data packet to the multicast group network address IPm1, and forwards it to the multicast receiver 1 in the way of IP multicast. Receiver 1 receives the multicast data packet;
  • the multicast processing node 4 After the multicast processing node 4 receives the multicast data packet, it queries the locally maintained multicast forwarding table and obtains that the outgoing port corresponding to the multicast identifier EID1 carried in the multicast data packet is port 2, and the multicast Data packets are forwarded from port 2 to multicast member agent 2;
  • the multicast member agent 2 After the multicast member agent 2 receives the multicast data packet, it changes the destination network address of the multicast data packet to the multicast group network address IPm1, and forwards it to the multicast receiver 2 in the way of IP multicast. Player 2 receives the multicast data packet.

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present invention relates to the technical field of network communication and data processing, and relates in particular to a multicast system for identifier resolution-based routing. The system comprises a multicast source, multicast receivers, multicast member agents, and multicast processing nodes. The system further comprises an identifier resolution service module deployed in the cloud or in a network. The module uses a global unique identifier unrelated to any network addresses as a multicast identifier capable of uniquely identifying a multicast service, while IP network addresses are still used as network addresses. The module is further used to maintain mapping relationships between the multicast identifier and IP network addresses of one or more multicast processing nodes, and to provide registration, deregistration, and resolution and query services. Network nodes hosting a multicast bearer service comprise the multicast processing nodes and IP network routing and switching nodes. The multicast receivers apply to join the multicast service by means of the multicast identifier.

Description

一种基于标识解析路由的组播系统及组播方法A kind of multicast system and multicast method based on identification resolution route
相关申请的交叉参考CROSS-REFERENCE TO RELATED APPLICATIONS
该申请要求2020年10月23日提交的中国专利申请号为202011144897.7的优先权,该专利申请在此被完全引入作为参考。This application claims priority to Chinese Patent Application No. 202011144897.7 filed on October 23, 2020, which is fully incorporated herein by reference.
技术领域technical field
本发明属于网络通信和数据处理技术领域,具体地说,涉及一种基于标识解析路由的组播系统及组播方法。The invention belongs to the technical field of network communication and data processing, and in particular relates to a multicast system and a multicast method based on identification resolution route.
背景技术Background technique
近几年,网络上出现了多种新式业务与应用,其中很大一部分是以高带宽、高网络资源需求为基础的多媒体业务,如远程教育、IPTV、视频会议、多人游戏等。这些业务的主要特点是单源或多源发送,多目的接收(一对多或多对多),发送方发送的数据具有极高重复性。同时随着5G开启万物互联的新时代,物联网带来了大量的一对多数据传输。面对这些业务,采用单播方式实现时,由于IP数据包的重复发送会浪费大量带宽,同时增加了服务器的负担;若采用广播方式实现时,不仅要将信息发给一些不需要的主机而浪费带宽,还可能由于路由环路而引起广播风暴问题。In recent years, a variety of new services and applications have appeared on the network, a large part of which are multimedia services based on high bandwidth and high network resource requirements, such as distance education, IPTV, video conferencing, and multiplayer games. The main features of these services are single-source or multi-source sending, multi-purpose receiving (one-to-many or many-to-many), and the data sent by the sender is extremely repetitive. At the same time, as 5G opens a new era of Internet of Everything, the Internet of Things brings a large amount of one-to-many data transmission. In the face of these services, when the unicast method is used, the repeated transmission of IP data packets will waste a lot of bandwidth and increase the burden on the server; if the broadcast method is used, the information must not only be sent to some unnecessary hosts but Wasting bandwidth and possibly causing broadcast storms due to routing loops.
目前,组播技术能比较完善地解决上述问题。组播技术指的是单个发送者对应多个接收者的一种网络通信。组播技术中,通过向多个接收方传送单信息流方式,可以减少具有多个接收方同时收听或查看相同资源情况下的网络通信流量。对于n方视频会议,可以减少使用a(n-1)倍的带宽长度。组播技术的主要特点是根据实际情况,将应用的成员划分到一个群组,数据的分发将仅限于组内,可以提供从单点同时向网络中的多点传输相同数据,依靠组播树,两个或多个目的网络主机不需要在重复链路各自发送数据包,只需在组播树分支节点复制数据包并分发即可,这样既可以有效地节约网络资源,又可以提高带宽利用率。但是,在传统的IP网络架构中,全部的路由器都需要支持分布式组播协议,而且组播树的构建、维护及更新均需要组播路由器之间进行大量的信息交换,这些控制状态会消耗大量的网络资源,使得IP组播始终难以在传统网络中大规模部署。At present, the multicast technology can solve the above problems relatively well. Multicast technology refers to a kind of network communication in which a single sender corresponds to multiple receivers. In the multicast technology, by transmitting a single information stream to multiple receivers, the network communication traffic can be reduced when multiple receivers listen or view the same resources at the same time. For an n-party video conference, the bandwidth length can be reduced by a (n-1) times. The main feature of multicast technology is to divide the members of the application into a group according to the actual situation, and the distribution of data will be limited to the group. It can provide the same data transmission from a single point to multiple points in the network at the same time. , two or more destination network hosts do not need to send data packets on duplicate links, but only need to copy and distribute data packets at the branch nodes of the multicast tree, which can not only effectively save network resources, but also improve bandwidth utilization Rate. However, in the traditional IP network architecture, all routers need to support the distributed multicast protocol, and the construction, maintenance and update of the multicast tree require a large amount of information exchange between multicast routers, and these control states will consume A large number of network resources make it difficult to deploy IP multicast on a large scale in traditional networks.
发明内容SUMMARY OF THE INVENTION
为了解决现有的组播方法存在上述问题,本发明提出了一种基于标识解析路由的组播系统,该系统包括:组播源、组播接收者、组播成员代理和组播处理节点;该系统还包括:部署在云端或网络中的标识解析服务模块,用于采用与网络地址无关的全局唯一标识符,作为组播标识符,能够唯一识别一个组播服务,而网络地址仍为IP网络的地址;In order to solve the above-mentioned problems in the existing multicast methods, the present invention proposes a multicast system based on identification resolution route, the system includes: a multicast source, a multicast receiver, a multicast member agent and a multicast processing node; The system also includes: an identification resolution service module deployed in the cloud or in the network, used for using a globally unique identifier irrelevant to the network address as a multicast identifier, capable of uniquely identifying a multicast service, while the network address is still IP the address of the network;
还用于维护组播标识符和一个或多个组播处理节点的IP网络地址之间的映射关系;It is also used to maintain the mapping relationship between the multicast identifier and the IP network addresses of one or more multicast processing nodes;
还用于提供注册、注销、解析查询服务;It is also used to provide registration, cancellation, and resolution query services;
承载组播的网络节点包括:组播处理节点和IP网络路由交换节点;The network nodes that bear multicast include: multicast processing nodes and IP network routing switching nodes;
所述组播接收者,用于通过组播标识符申请加入组播服务。The multicast receiver is used to apply for joining the multicast service through the multicast identifier.
作为上述技术方案的改进之一,所述标识解析服务模块,还用于提供注册、注销、解析查询服务;具体为:As one of the improvements of the above technical solutions, the identification resolution service module is also used to provide registration, cancellation, resolution query services; specifically:
所述标识解析服务模块支持组播标识符和一个或多个组播处理节点的IP网络地址之间的映射关系的注册、注销,以及通过组播标识符解析查询组播处理节点的IP网络地址;其中,一个组播标识符对应一个或多个组播处理节点的IP网络地址。The identification resolution service module supports the registration and deregistration of the mapping relationship between the multicast identifier and the IP network addresses of one or more multicast processing nodes, and queries the IP network addresses of the multicast processing nodes through the resolution of the multicast identifier ; wherein, a multicast identifier corresponds to the IP network addresses of one or more multicast processing nodes.
作为上述技术方案的改进之一,所述组播处理节点的数量为一个或多个,用于实现IP网络路由交换节点所具有的功能;As one of the improvements of the above technical solutions, the number of the multicast processing nodes is one or more, which are used to realize the functions of the IP network routing switching nodes;
还用于转发或处理修改后的加入请求消息,判断修改后的加入请求消息中的目的网络地址是否为当前接收的组播处理节点的网络地址,并根据判断结果,转发修改后的加入请求消息或者构造、转发请求响应消息;It is also used to forward or process the modified join request message, determine whether the destination network address in the modified join request message is the network address of the currently received multicast processing node, and forward the modified join request message according to the judgment result. Or construct and forward request response messages;
还用于封装及发送组播数据报文,并根据更新后的、本地维护的组播转发表,转发组播数据报文;It is also used to encapsulate and send multicast data packets, and forward multicast data packets according to the updated, locally maintained multicast forwarding table;
位于网络边缘的组播处理节点采用组播协议代理,对组播成员代理发送的加入请求消息进行修改,将修改后的加入请求消息转发至所选择的组播处理节点。The multicast processing node located at the edge of the network adopts the multicast protocol proxy to modify the join request message sent by the multicast member proxy, and forwards the modified join request message to the selected multicast processing node.
作为上述技术方案的改进之一,所述位于网络边缘的组播处理节点采用组播协议代理,对组播成员代理发送的加入请求消息进行修改,将修改后的加入请求消息转发至所选择的组播处理节点;其具体实现过程为:As one of the improvements of the above technical solutions, the multicast processing node located at the edge of the network uses a multicast protocol proxy to modify the join request message sent by the multicast member proxy, and forwards the modified join request message to the selected Multicast processing node; its specific implementation process is:
位于网络边缘的组播处理节点接收并处理组播成员代理转发的、基于组播标 识符的加入请求消息,向标识解析服务模块发送解析请求,对加入请求消息中携带的组播标识符进行解析,获得加入请求消息中携带的组播标识符对应的一组组播处理节点及其对应的IP网络地址,选择其中一个组播处理节点,将加入请求消息中的目的网络地址修改为所选择的组播处理节点的IP地址,获得修改后的加入请求消息,并将修改后的加入请求消息转发至所选择的组播处理节点。The multicast processing node located at the edge of the network receives and processes the join request message based on the multicast identifier forwarded by the multicast member agent, sends a resolution request to the identification resolution service module, and parses the multicast identifier carried in the join request message. , obtain a group of multicast processing nodes corresponding to the multicast identifier carried in the join request message and their corresponding IP network addresses, select one of the multicast processing nodes, and modify the destination network address in the join request message to the selected one The IP address of the multicast processing node obtains the modified join request message, and forwards the modified join request message to the selected multicast processing node.
其中,采用组播协议代理,还可构造、封装和发送修改后的加入请求消息。Among them, by adopting the multicast protocol proxy, the modified join request message can also be constructed, encapsulated and sent.
作为上述技术方案的改进之一,所述修改后的加入请求消息以网络层报文格式进行转发,其包括:源网络地址、目的网络地址和组播标识符;其中,所述源网络地址为组播成员代理的IP网络地址;所述目的网络地址为某一个组播处理节点的IP网络地址。As one of the improvements of the above technical solutions, the modified join request message is forwarded in a network layer message format, which includes: a source network address, a destination network address and a multicast identifier; wherein the source network address is The IP network address of the multicast member agent; the destination network address is the IP network address of a certain multicast processing node.
作为上述技术方案的改进之一,所述组播转发表包括:一组组播转发表项;As one of the improvements of the above technical solutions, the multicast forwarding table includes: a group of multicast forwarding table entries;
其中,该组组播转发表项中的每个组播转发表项进一步包括:一个组播标识符和出端口列表;Wherein, each multicast forwarding entry in the group of multicast forwarding entries further includes: a multicast identifier and an outgoing port list;
其中,所述出端口列表进一步包括:多个转发端口;Wherein, the outgoing port list further includes: multiple forwarding ports;
其中,所述组播标识符为键,出端口列表为值;一个组播标识符对应一个或多个转发端口。The multicast identifier is a key, and the outgoing port list is a value; a multicast identifier corresponds to one or more forwarding ports.
作为上述技术方案的改进之一,所述组播处理节点,用于转发或处理修改后的加入请求消息,判断修改后的加入请求消息中的目的网络地址是否为当前接收的组播处理节点的网络地址,并根据判断结果,转发修改后的加入请求消息或者构造、转发请求响应消息;其具体实施过程为:As one of the improvements of the above technical solutions, the multicast processing node is used to forward or process the modified join request message, and determine whether the destination network address in the modified join request message is the address of the currently received multicast processing node. network address, and forward the modified join request message or construct and forward the request response message according to the judgment result; the specific implementation process is as follows:
组播处理节点接收修改后的加入请求消息,判断修改后的加入请求消息中携带的目的网络地址是否为当前接收修改后的加入请求消息的组播处理节点的IP网络地址;The multicast processing node receives the modified join request message, and determines whether the destination network address carried in the modified join request message is the IP network address of the multicast processing node currently receiving the modified join request message;
如果修改后的加入请求消息中携带的目的网络地址不是当前接收修改后的加入请求消息的组播处理节点的IP网络地址,则根据修改后的加入请求消息中的目的网络地址,按照IP网络路由转发至正确的组播处理节点;If the destination network address carried in the modified join request message is not the IP network address of the multicast processing node that currently receives the modified join request message, then according to the destination network address in the modified join request message, the IP network routing is performed. Forward to the correct multicast processing node;
如果修改后的加入请求消息中携带的目的网络地址是当前接收修改后的加入请求消息的组播处理节点的网络地址,则根据修改后的加入请求消息,更新本地的组播转发表,构造并转发请求响应消息。If the destination network address carried in the modified join request message is the network address of the multicast processing node that currently receives the modified join request message, update the local multicast forwarding table according to the modified join request message, and construct a Forward request response message.
作为上述技术方案的改进之一,所述请求响应消息以网络层报文格式进行转发,其包括:源网络地址、目的网络地址和组播标识符;其中,所述源网络地址为组播处理节点的网络地址;所述目的网络地址为组播成员代理的网络地址。As one of the improvements of the above technical solutions, the request response message is forwarded in a network layer message format, which includes: a source network address, a destination network address and a multicast identifier; wherein, the source network address is a multicast process The network address of the node; the destination network address is the network address of the multicast member proxy.
作为上述技术方案的改进之一,所述根据修改后的加入请求消息,更新本地的组播转发表,构造并转发请求响应消息,具体过程为:As one of the improvements of the above technical solutions, according to the modified join request message, the local multicast forwarding table is updated, and the request response message is constructed and forwarded. The specific process is:
组播处理节点在本地维护的组播转发表中查询是否包含修改后的加入请求消息中携带的组播标识符;The multicast processing node queries the locally maintained multicast forwarding table whether the multicast identifier carried in the modified join request message is included;
如果组播处理节点在本地的组播转发表中查询到有包含修改后的加入请求消息中携带的组播标识符,则根据修改后的加入请求消息的源网络地址,在本地的路由表中查询并得到转发端口;If the multicast processing node finds the multicast identifier carried in the modified join request message in the local multicast forwarding table, then according to the source network address of the modified join request message, in the local routing table Query and get the forwarding port;
查找组播转发表中该组播标识符对应的出端口列表中是否包含上述查询得到的转发端口;Find out whether the forwarding port obtained by the above query is included in the outgoing port list corresponding to the multicast identifier in the multicast forwarding table;
若组播转发表中该组播标识符对应的出端口列表中不包含上述查询得到的转发端口,则在出端口列表中添加该转发端口;If the outgoing port list corresponding to the multicast identifier in the multicast forwarding table does not contain the forwarding port obtained by the above query, add the forwarding port to the outgoing port list;
若组播转发表中该组播标识符对应的出端口列表中包含上述查询得到的转发端口,则转至下一步骤:If the outgoing port list corresponding to the multicast identifier in the multicast forwarding table includes the forwarding port obtained by the above query, go to the next step:
组播处理节点构造请求响应消息及回复请求响应消息,下一个组播处理节点根据转发的请求响应消息,更新组播转发表,直至转发至组播成员代理;The multicast processing node constructs a request response message and a reply request response message, and the next multicast processing node updates the multicast forwarding table according to the forwarded request response message until it is forwarded to the multicast member agent;
如果组播处理节点在本地的组播转发表中没有查询到包含修改后的加入请求消息中携带的组播标识符,则反馈异常。If the multicast processing node does not query the local multicast forwarding table to include the multicast identifier carried in the modified join request message, the feedback is abnormal.
作为上述技术方案的改进之一,所述下一个组播处理节点根据转发的请求响应消息,更新组播转发表,直至转发至组播成员代理;具体为:As one of the improvements of the above technical solutions, the next multicast processing node updates the multicast forwarding table according to the forwarded request response message until it is forwarded to the multicast member agent; specifically:
下一个组播处理节点接收转发的请求响应消息,并从其中提取组播标识符和目的网络地址,并根据请求响应消息中携带的目的网络地址,在本地维护的路由表中查找到对应的转发端口;The next multicast processing node receives the forwarded request-response message, extracts the multicast identifier and destination network address from it, and finds the corresponding forwarding in the locally maintained routing table according to the destination network address carried in the request-response message port;
在本地维护的组播转发表中查询是否包含请求响应消息中携带的组播标识符;Query whether the multicast identifier carried in the request response message is included in the locally maintained multicast forwarding table;
如果下一个组播处理节点在本地维护的组播转发表中查询到有包含请求响应消息中携带的组播标识符,则获取该组播标识符对应的出端口列表,并进一步 判断该出端口列表是否包含该转发端口;If the next multicast processing node finds the multicast identifier carried in the request response message in the locally maintained multicast forwarding table, it obtains the list of outgoing ports corresponding to the multicast identifier, and further determines the outgoing port. Whether the list contains the forwarding port;
若该出端口列表中有该转发端口,则直接从该转发端口转发请求响应消息;If there is the forwarding port in the outgoing port list, the request response message is directly forwarded from the forwarding port;
若该出端口列表中不包含该转发端口,则在该出端口列表中添加该转发端口,并直接从该转发端口转发请求响应消息;If the forwarding port is not included in the outgoing port list, add the forwarding port in the outgoing port list, and directly forward the request response message from the forwarding port;
如果下一个组播处理节点在本地的路由表中没有查询到包含请求响应消息中携带的组播标识符,则在组播转发表中添加该组播标识符和上述转发端口,更新组播转发表,并向标识解析服务模块注册该组播标识符和该组播处理节点的IP网络地址之间的映射关系,从而成为该组播服务对应的一个组播处理节点,该组播处理节点将从上述转发端口转发请求响应消息,直至转发至组播成员代理。If the next multicast processing node does not find the multicast identifier carried in the request response message in the local routing table, it will add the multicast identifier and the above forwarding port in the multicast forwarding table, and update the multicast forwarding published, and register the mapping relationship between the multicast identifier and the IP network address of the multicast processing node with the ID resolution service module, so as to become a multicast processing node corresponding to the multicast service, and the multicast processing node will The request-response message is forwarded from the forwarding port above until forwarded to the multicast member proxy.
作为上述技术方案的改进之一,所述组播数据报文包括源网络地址、目的网络地址和组播标识符;所述源网络地址为实现组播的网内组播处理节点的网络地址。As one of the improvements of the above technical solutions, the multicast data message includes a source network address, a destination network address and a multicast identifier; the source network address is a network address of an intra-network multicast processing node that implements multicast.
作为上述技术方案的改进之一,所述组播处理节点,还用于转发组播数据报文;其具体实现过程为:As one of the improvements of the above technical solutions, the multicast processing node is also used to forward multicast data packets; the specific implementation process is as follows:
查询本地维护的组播转发表中是否包含组播数据报文中携带的组播标识符;Query whether the multicast forwarding table maintained locally contains the multicast identifier carried in the multicast data packet;
若本地维护的组播转发表中包含上述组播标识符,则得到该组播数据报文中携带的组播标识符对应的所有出端口,并将组播数据报文从组播转发表中该组播标识符对应的所有出端口复制该组播数据报文;If the multicast forwarding table maintained locally contains the above-mentioned multicast identifier, all outgoing ports corresponding to the multicast identifier carried in the multicast data packet are obtained, and the multicast data packet is removed from the multicast forwarding table. All outgoing ports corresponding to the multicast identifier replicate the multicast data packet;
若组播转发表不包含上述组播标识符,则进行错误处理,并反馈对应的处理结果。If the multicast forwarding table does not contain the above-mentioned multicast identifier, error processing is performed, and the corresponding processing result is fed back.
作为上述技术方案的改进之一,所述组播成员代理为一个或多个,组播接收者为一个或多个,所述组播成员代理与组播接收者位于相同的广播域内;组播成员代理存有本地局部标识符,用于在本地广播域内,组播接收者与组播成员代理之间进行信息交互;As one of the improvements of the above technical solutions, there are one or more multicast member agents and one or more multicast receivers, and the multicast member agents and the multicast receivers are located in the same broadcast domain; multicast The member agent has a local local identifier, which is used for information exchange between the multicast receiver and the multicast member agent in the local broadcast domain;
还用于维护组播标识符与本地局部标识符之间的映射关系;It is also used to maintain the mapping relationship between the multicast identifier and the local local identifier;
还用于获取组播接收者发送的组播成员报告消息,根据组播成员报告消息构造加入请求消息,然后向组播处理节点发送构造的加入请求消息;It is also used to obtain the multicast member report message sent by the multicast receiver, construct a join request message according to the multicast member report message, and then send the constructed join request message to the multicast processing node;
还用于获取组播处理节点发送的组播数据报文后,并将其转发至组播接收者;It is also used to obtain the multicast data message sent by the multicast processing node and forward it to the multicast receiver;
其中,本地局部标识符在本地广播域内唯一,其具体为但不限于IP组播组地址。Wherein, the local local identifier is unique in the local broadcast domain, which is specifically, but not limited to, an IP multicast group address.
本发明还提供了一种基于标识解析路由的组播方法,该方法包括:The present invention also provides a multicast method based on identification resolution route, the method includes:
步骤1)组播接收者发送带有组播标识符的组播成员报告消息至组播成员代理,组播成员代理根据组播成员报告消息构造加入请求消息,并将构造好的加入请求消息发送至与其最近的位于网络边缘的组播处理节点,该组播处理节点通过组播协议代理,对组播成员代理发送的加入请求消息进行修改,将修改后的加入请求消息转发至正确的组播处理节点;Step 1) The multicast receiver sends a multicast member report message with a multicast identifier to the multicast member agent, and the multicast member agent constructs a join request message according to the multicast member report message, and sends the constructed join request message To the nearest multicast processing node at the network edge, the multicast processing node modifies the join request message sent by the multicast member proxy through the multicast protocol proxy, and forwards the modified join request message to the correct multicast processing node;
步骤2)组播处理节点判断接收的修改后的加入请求消息的目的网络地址是否为当前接收的组播处理节点的网络地址,并根据判断结果,转发修改后的加入请求消息或者构造、转发请求响应消息;Step 2) The multicast processing node judges whether the destination network address of the received modified join request message is the network address of the currently received multicast processing node, and according to the judgment result, forwards the modified join request message or constructs and forwards the request response message;
步骤3)组播处理节点根据接收到的请求响应消息更新本地维护的组播转发表,并根据本地维护的组播转发表,转发组播数据报文至组播成员代理。Step 3) The multicast processing node updates the locally maintained multicast forwarding table according to the received request response message, and forwards the multicast data message to the multicast member agent according to the locally maintained multicast forwarding table.
作为上述技术方案的改进之一,所述步骤1)的具体过程如下:As one of the improvements of the above-mentioned technical solutions, the specific process of the step 1) is as follows:
组播源发布带有组播标识符的组播服务,组播接收者通过该组播标识符申请加入带有该组播标识符的组播服务,向本地广播域内发送包含组播标识符的组播成员报告消息;The multicast source publishes the multicast service with the multicast identifier, the multicast receiver applies for joining the multicast service with the multicast identifier through the multicast identifier, and sends a message containing the multicast identifier to the local broadcast domain. Multicast member report message;
该组播成员代理接收该组播成员报告消息,并构造加入请求消息,组播成员代理将构造的加入请求消息发送至与其最近的位于网络边缘的组播处理节点,The multicast member agent receives the multicast member report message and constructs a join request message, and the multicast member agent sends the constructed join request message to the nearest multicast processing node located at the network edge,
位于网络边缘的组播处理节点接收组播成员代理转发的加入请求消息,向标识解析服务模块请求查询,获得加入请求消息中携带的组播标识符对应的一组组播处理节点及其对应的网络地址,选择其中一个组播处理节点,将加入请求消息中的目的网络地址修改为所选择的组播处理节点的网络地址,获得修改后的加入请求消息,并将修改后的请求消息转发至所选择的组播处理节点。The multicast processing node located at the edge of the network receives the join request message forwarded by the multicast member agent, requests a query from the identification resolution service module, and obtains a group of multicast processing nodes corresponding to the multicast identifier carried in the join request message and their corresponding network address, select one of the multicast processing nodes, modify the destination network address in the join request message to the network address of the selected multicast processing node, obtain the modified join request message, and forward the modified request message to The selected multicast processing node.
作为上述技术方案的改进之一,所述步骤2)的具体过程如下:As one of the improvements of the above-mentioned technical solutions, the specific process of the step 2) is as follows:
组播处理节点接收修改后的加入请求消息,判断修改后的加入请求消息中携带的目的网络地址是否为当前接收修改后的加入请求消息的组播处理节点的网络地址;The multicast processing node receives the modified join request message, and determines whether the destination network address carried in the modified join request message is the network address of the multicast processing node currently receiving the modified join request message;
如果修改后的加入请求消息中携带的目的网络地址不是当前接收修改后的 加入请求消息的组播处理节点的网络地址,则根据修改后的加入请求消息中的目的网络地址,按照IP网络路由进行转发,直至转发至正确的组播处理节点;If the destination network address carried in the modified join request message is not the network address of the multicast processing node that currently receives the modified join request message, then according to the destination network address in the modified join request message, IP network routing is performed. Forward until forwarded to the correct multicast processing node;
如果修改后的加入请求消息中携带的目的网络地址是当前接收修改后的加入请求消息的组播处理节点的网络地址,则根据修改后的加入请求消息,更新本地维护的组播转发表,构造并转发请求响应消息。If the destination network address carried in the modified join request message is the network address of the multicast processing node currently receiving the modified join request message, update the locally maintained multicast forwarding table according to the modified join request message, and construct And forward the request response message.
作为上述技术方案的改进之一,所述根据修改后的加入请求消息,更新本地的组播转发表,构造并转发请求响应消息,具体为:As one of the improvements of the above technical solutions, according to the modified join request message, the local multicast forwarding table is updated, and the request response message is constructed and forwarded, specifically:
组播处理节点在本地维护的组播转发表中查询是否包含修改后的加入请求消息中携带的组播标识符;The multicast processing node queries the locally maintained multicast forwarding table whether the multicast identifier carried in the modified join request message is included;
如果组播处理节点在本地的组播转发表中查询到有包含修改后的加入请求消息中携带的组播标识符,则根据修改后的加入请求消息的源网络地址,在本地的路由表中查询并得到转发端口;If the multicast processing node finds the multicast identifier carried in the modified join request message in the local multicast forwarding table, then according to the source network address of the modified join request message, in the local routing table Query and get the forwarding port;
查找组播转发表中该组播标识符对应的出端口列表中是否包含上述查询得到的转发端口;Find out whether the forwarding port obtained by the above query is included in the outgoing port list corresponding to the multicast identifier in the multicast forwarding table;
若组播转发表中该组播标识符对应的出端口列表中不包含上述查询得到的转发端口,则在出端口列表中添加该转发端口;If the outgoing port list corresponding to the multicast identifier in the multicast forwarding table does not contain the forwarding port obtained by the above query, add the forwarding port to the outgoing port list;
若组播转发表中该组播标识符对应的出端口列表中包含上述查询得到的转发端口,则转至下一步骤:If the outgoing port list corresponding to the multicast identifier in the multicast forwarding table includes the forwarding port obtained by the above query, go to the next step:
组播处理节点构造请求响应消息及回复请求响应消息,下一个组播处理节点根据转发的请求响应消息,并更新组播转发表,直至转发至组播成员代理;The multicast processing node constructs a request response message and a reply request response message, and the next multicast processing node updates the multicast forwarding table according to the forwarded request response message until it is forwarded to the multicast member agent;
如果组播处理节点在本地的组播转发表中没有查询到包含修改后的加入请求消息中携带的组播标识符,则反馈异常。If the multicast processing node does not query the local multicast forwarding table to include the multicast identifier carried in the modified join request message, the feedback is abnormal.
作为上述技术方案的改进之一,所述下一个组播处理节点根据转发的请求响应消息,并更新组播转发表,直至转发至组播成员代理;具体为:As one of the improvements of the above technical solutions, the next multicast processing node updates the multicast forwarding table according to the forwarded request response message until it is forwarded to the multicast member agent; specifically:
下一个组播处理节点接收转发的请求响应消息,并从其中提取组播标识符和目的网络地址,并根据请求响应消息中携带的目的网络地址,在本地维护的路由表中查找到对应的转发端口;The next multicast processing node receives the forwarded request-response message, extracts the multicast identifier and destination network address from it, and finds the corresponding forwarding in the locally maintained routing table according to the destination network address carried in the request-response message port;
在本地维护的组播转发表中查询是否包含请求响应消息中携带的组播标识符;Query whether the multicast identifier carried in the request response message is included in the locally maintained multicast forwarding table;
如果下一个组播处理节点在本地的组播转发表中查询到有包含请求响应消息中携带的组播标识符,则获取该组播标识符对应的出端口列表,并进一步判断该出端口列表是否包含该转发端口;If the next multicast processing node finds the multicast identifier carried in the request response message in the local multicast forwarding table, it obtains the list of outgoing ports corresponding to the multicast identifier, and further judges the list of outgoing ports. Whether to include the forwarding port;
若该出端口列表中有该转发端口,则直接从该转发端口转发该请求响应消息;If there is the forwarding port in the outgoing port list, the request response message is directly forwarded from the forwarding port;
若该出端口列表中不包含该转发端口,则在该出端口列表中添加该转发端口,并直接从该转发端口转发该请求响应消息;If the forwarding port is not included in the outgoing port list, add the forwarding port in the outgoing port list, and directly forward the request response message from the forwarding port;
如果下一个组播处理节点在本地的组播转发表中没有查询到包含请求响应消息中携带的组播标识符,则在组播转发表中添加该组播标识符和上述转发端口,更新组播转发表,并向标识解析服务模块注册该组播标识符和该组播处理节点的IP网络地址之间的映射关系,从而成为该组播服务对应的一个组播处理节点,组播处理节点将请求响应消息从上述转发端口转发,直至转发至组播成员代理。If the next multicast processing node does not find the multicast identifier carried in the request response message in the local multicast forwarding table, it will add the multicast identifier and the above forwarding port to the multicast forwarding table, and update the group broadcast forwarding table, and register the mapping relationship between the multicast identifier and the IP network address of the multicast processing node to the ID resolution service module, so as to become a multicast processing node corresponding to the multicast service, and the multicast processing node The request-response message is forwarded from the above forwarding port until it is forwarded to the multicast member proxy.
作为上述技术方案的改进之一,所述步骤3)中,根据本地维护的组播转发表,转发组播数据报文至组播成员代理,其具体过程如下:As one of the improvements of the above technical solutions, in the step 3), according to the multicast forwarding table maintained locally, the multicast data message is forwarded to the multicast member agent, and the specific process is as follows:
组播处理节点收到组播数据报文后,查询本地维护的组播转发表中是否包含组播数据报文中携带的组播标识符;After receiving the multicast data packet, the multicast processing node queries whether the multicast forwarding table maintained locally contains the multicast identifier carried in the multicast data packet;
若本地维护的组播转发表中包含上述组播标识符,则得到该组播数据报文中携带的组播标识符对应的所有出端口,并将组播数据报文从组播转发表中该组播标识符对应的所有出端口复制该组播数据报文,If the multicast forwarding table maintained locally contains the above-mentioned multicast identifier, all outgoing ports corresponding to the multicast identifier carried in the multicast data packet are obtained, and the multicast data packet is removed from the multicast forwarding table. All outgoing ports corresponding to the multicast identifier replicate the multicast data packet,
若组播转发表不包含上述组播标识符,则进行错误处理,并反馈对应的处理结果。If the multicast forwarding table does not contain the above-mentioned multicast identifier, error processing is performed, and the corresponding processing result is fed back.
作为上述技术方案的改进之一,所述错误处理包括:丢弃组播数据报文、向上级组播处理节点反馈错误信息、向其所有邻接的组播处理节点反馈错误信息、更新组播转发表并添加该组播数据报文中携带的组播标识符对应的组播转发表项。As one of the improvements of the above technical solutions, the error handling includes: discarding multicast data packets, feeding back error information to the upper-level multicast processing node, feeding back error information to all its adjacent multicast processing nodes, and updating the multicast forwarding table And add the multicast forwarding entry corresponding to the multicast identifier carried in the multicast data packet.
本发明与现有技术相比的有益效果是:The beneficial effects of the present invention compared with the prior art are:
本发明的方法充分利用将组播标识符和网络地址分离的特点,通过标识解析服务模块,实现组播标识符和组播处理节点的IP网络地址之间的映射,网络中 转发组播数据报文的组播处理节点将组播标识符和其IP地址向标识解析服务模块注册,组播接收者能够通过标识解析服务模块解析得到附近的组播处理节点,简化了组播树的构建,提高了组播服务的效率。The method of the invention makes full use of the feature of separating the multicast identifier and the network address, realizes the mapping between the multicast identifier and the IP network address of the multicast processing node by identifying the resolution service module, and forwards the multicast datagram in the network. The multicast processing node in this paper registers the multicast identifier and its IP address with the ID resolution service module, and the multicast receiver can obtain the nearby multicast processing nodes through the ID resolution service module, which simplifies the construction of the multicast tree and improves the efficiency of multicast services.
附图说明Description of drawings
图1是本发明的一种基于标识解析路由的组播系统的结构示意图;Fig. 1 is a kind of structure schematic diagram of the multicast system based on identification resolution route of the present invention;
图2是本发明的一种基于标识解析路由的组播方法的组播数据报文的结构示意图;2 is a schematic structural diagram of a multicast data message based on a multicast method for identifying and resolving routes according to the present invention;
图3是本发明的一种基于标识解析路由的组播方法的组播转发表的结构示意图;FIG. 3 is a schematic structural diagram of a multicast forwarding table based on a multicast method for identifying and resolving routes according to the present invention;
图4是本发明的一种基于标识解析路由的组播方法中的组播处理节点对请求响应消息的处理流程图;4 is a flowchart of processing a request-response message by a multicast processing node in a multicast method for route-based identification resolution according to the present invention;
图5是本发明的一种基于标识解析路由的组播方法中的组播处理节点对组播数据报文的处理流程图;5 is a flowchart of processing a multicast data message by a multicast processing node in a multicast method for route-based identification resolution according to the present invention;
图6是本发明的一种基于标识解析路由的组播方法的一个具体实施例中的组播接收者1加入组播服务EID1的处理示意图;Fig. 6 is a kind of processing schematic diagram of the multicast receiver 1 joining the multicast service EID1 in a specific embodiment of the multicast method based on identification resolution route of the present invention;
图7是本发明的一种基于标识解析路由的组播方法的一个具体实施例中的组播处理节点2回复请求响应消息的处理示意图;7 is a schematic diagram of the processing of the multicast processing node 2 replying to a request response message in a specific embodiment of a multicast method based on identification resolution routing of the present invention;
图8是本发明的一种基于标识解析路由的组播方法的一个具体实施例中的组播数据报文的转发示意图。FIG. 8 is a schematic diagram of forwarding of a multicast data message in a specific embodiment of a multicast method for route-based identification resolution according to the present invention.
具体实施方式Detailed ways
现结合附图对本发明作进一步的描述。The present invention will now be further described with reference to the accompanying drawings.
如图1所示,本发明提供了一种基于标识解析路由的组播系统,该系统包括:组播源、组播接收者、组播成员代理和组播处理节点;该系统还包括:部署在云端或网络中的标识解析服务模块,用于采用与网络地址无关的全局唯一标识符,作为组播标识符,能够唯一识别一个组播服务,而网络地址仍为IP网络的地址;As shown in FIG. 1 , the present invention provides a multicast system based on identification resolution route, the system includes: a multicast source, a multicast receiver, a multicast member agent and a multicast processing node; the system also includes: a deployment The identification resolution service module in the cloud or network is used to use a globally unique identifier unrelated to the network address as a multicast identifier, which can uniquely identify a multicast service, while the network address is still the address of the IP network;
还用于维护组播标识符和实现组播服务的一个或多个组播处理节点的IP网络地址之间的映射关系;It is also used to maintain the mapping relationship between the multicast identifier and the IP network addresses of one or more multicast processing nodes that implement the multicast service;
还用于提供注册、注销、解析查询服务;It is also used to provide registration, cancellation, and resolution query services;
承载组播的网络节点包括:组播处理节点和IP网络路由交换节点,即普通 的路由器;The network nodes that bear multicast include: multicast processing nodes and IP network routing switching nodes, that is, ordinary routers;
所述组播接收者,用于通过组播标识符申请加入组播服务。The multicast receiver is used to apply for joining the multicast service through the multicast identifier.
其中,组播标识符是一个与网络地址无关的、能够唯一识别一个组播服务的全局唯一标识符,一个组播标识符只对应一个组播服务,每个组播标识符对应多个组播处理节点及其对应的IP网络地址;其中,基于信息中心网络的表示与地址分离的架构,使用与网络地址无关的标识符唯一的代表一个组播服务,该标识符为组播标识符,而网络地址仍采用IP网络地址。The multicast identifier is a globally unique identifier that is independent of the network address and can uniquely identify a multicast service. A multicast identifier corresponds to only one multicast service, and each multicast identifier corresponds to multiple multicast services. Processing nodes and their corresponding IP network addresses; wherein, based on the architecture of information center network representation and address separation, a multicast service is uniquely represented by an identifier unrelated to the network address, the identifier is a multicast identifier, and The network address still uses the IP network address.
所述标识解析服务模块,还用于提供注册、注销、解析查询服务;具体为:The identification resolution service module is also used to provide registration, cancellation, resolution and query services; specifically:
所述标识解析服务模块支持组播标识符和实现组播服务的一个或多个组播处理节点的IP网络地址之间的映射关系的注册、注销,以及通过组播标识符解析查询组播处理节点的IP网络地址;其中,一个组播标识符对应一个或多个组播处理节点的IP网络地址。The identification resolution service module supports the registration and deregistration of the mapping relationship between the multicast identifier and the IP network addresses of one or more multicast processing nodes that implement the multicast service, as well as querying the multicast processing through the resolution of the multicast identifier The IP network address of the node; wherein, a multicast identifier corresponds to the IP network addresses of one or more multicast processing nodes.
所述组播处理节点的数量为一个或多个,用于实现IP网络路由交换节点所具有的功能;除了具有IP网络路由交换节点的功能之外,还具有如下功能:The number of the multicast processing nodes is one or more, and is used to realize the functions of the IP network routing switching nodes; in addition to the functions of the IP network routing switching nodes, it also has the following functions:
还用于转发或处理修改后的加入请求消息,判断修改后的加入请求消息中的目的网络地址是否为当前接收的组播处理节点的网络地址,并根据判断结果,转发修改后的加入请求消息或者构造、转发请求响应消息;It is also used to forward or process the modified join request message, determine whether the destination network address in the modified join request message is the network address of the currently received multicast processing node, and forward the modified join request message according to the judgment result. Or construct and forward request response messages;
具体地,组播处理节点接收修改后的加入请求消息,判断修改后的加入请求消息中携带的目的网络地址是否为当前接收修改后的加入请求消息的组播处理节点的IP网络地址;Specifically, the multicast processing node receives the modified join request message, and determines whether the destination network address carried in the modified join request message is the IP network address of the multicast processing node currently receiving the modified join request message;
如果修改后的加入请求消息中携带的目的网络地址不是当前接收修改后的加入请求消息的组播处理节点的IP网络地址,则根据修改后的加入请求消息中的目的网络地址,按照IP网络路由转发至正确的组播处理节点;If the destination network address carried in the modified join request message is not the IP network address of the multicast processing node that currently receives the modified join request message, then according to the destination network address in the modified join request message, the IP network routing is performed. Forward to the correct multicast processing node;
如果修改后的加入请求消息中携带的目的网络地址是当前接收修改后的加入请求消息的组播处理节点的网络地址,则根据修改后的加入请求消息,更新本地的组播转发表,构造并转发请求响应消息。If the destination network address carried in the modified join request message is the network address of the multicast processing node that currently receives the modified join request message, update the local multicast forwarding table according to the modified join request message, and construct a Forward request response message.
具体地,组播处理节点在本地维护的组播转发表中查询是否包含修改后的加入请求消息中携带的组播标识符;Specifically, the multicast processing node queries whether the multicast forwarding table maintained locally contains the multicast identifier carried in the modified join request message;
如果组播处理节点在本地的组播转发表中查询到有包含修改后的加入请求 消息中携带的组播标识符,则根据修改后的加入请求消息的源网络地址,在本地的路由表中查询并得到转发端口;If the multicast processing node finds the multicast identifier carried in the modified join request message in the local multicast forwarding table, then according to the source network address of the modified join request message, in the local routing table Query and get the forwarding port;
查找组播转发表中该组播标识符对应的出端口列表中是否包含上述查询得到的转发端口;Find out whether the forwarding port obtained by the above query is included in the outgoing port list corresponding to the multicast identifier in the multicast forwarding table;
若组播转发表中该组播标识符对应的出端口列表中不包含上述查询得到的转发端口,则在出端口列表中添加该转发端口;If the outgoing port list corresponding to the multicast identifier in the multicast forwarding table does not contain the forwarding port obtained by the above query, add the forwarding port to the outgoing port list;
若组播转发表中该组播标识符对应的出端口列表中包含上述查询得到的转发端口,则转至下一步骤:If the outgoing port list corresponding to the multicast identifier in the multicast forwarding table includes the forwarding port obtained by the above query, go to the next step:
组播处理节点构造请求响应消息及回复请求响应消息,下一个组播处理节点根据转发的请求响应消息,并更新组播转发表,直至转发至组播成员代理;The multicast processing node constructs a request response message and a reply request response message, and the next multicast processing node updates the multicast forwarding table according to the forwarded request response message until it is forwarded to the multicast member agent;
具体地,如图4所示,下一个组播处理节点接收转发的请求响应消息,并从其中提取组播标识符和目的网络地址,并根据请求响应消息中携带的目的网络地址,在本地维护的路由表中查找到对应的转发端口;Specifically, as shown in FIG. 4 , the next multicast processing node receives the forwarded request response message, extracts the multicast identifier and the destination network address from it, and maintains the local network address according to the destination network address carried in the request response message. Find the corresponding forwarding port in the routing table;
在本地维护的组播转发表中查询是否包含请求响应消息中携带的组播标识符;Query whether the multicast identifier carried in the request response message is included in the locally maintained multicast forwarding table;
如果下一个组播处理节点在本地维护的组播转发表中查询到有包含请求响应消息中携带的组播标识符,则获取该组播标识符对应的出端口列表,并进一步判断该出端口列表是否包含该转发端口;If the next multicast processing node finds the multicast identifier carried in the request response message in the locally maintained multicast forwarding table, it obtains the list of outgoing ports corresponding to the multicast identifier, and further determines the outgoing port. Whether the list contains the forwarding port;
若该出端口列表中有该转发端口,则直接将请求响应消息直接从该转发端口转发请求响应消息;If there is the forwarding port in the outgoing port list, the request response message is directly forwarded from the forwarding port;
若该出端口列表中不包含该转发端口,则在该出端口列表中添加该转发端口,并将请求响应消息直接从该转发端口转发请求响应消息;If the forwarding port is not included in the outgoing port list, add the forwarding port in the outgoing port list, and forward the request-response message directly from the forwarding port;
如果下一个组播处理节点在本地的路由表中没有查询到包含请求响应消息中携带的组播标识符,则在组播转发表中添加该组播标识符和上述转发端口,更新组播转发表,并向标识解析服务模块注册该组播标识符和该组播处理节点的IP网络地址之间的映射关系,从而成为该组播服务对应的一个组播处理节点,该组播处理节点将请求响应消息从上述转发端口,直至转发至组播成员代理;If the next multicast processing node does not find the multicast identifier carried in the request response message in the local routing table, it will add the multicast identifier and the above forwarding port in the multicast forwarding table, and update the multicast forwarding published, and register the mapping relationship between the multicast identifier and the IP network address of the multicast processing node with the ID resolution service module, so as to become a multicast processing node corresponding to the multicast service, and the multicast processing node will The request response message is forwarded from the above forwarding port until it is forwarded to the multicast member proxy;
如果组播处理节点在本地的组播转发表中没有查询到包含修改后的加入请求消息中携带的组播标识符,则反馈异常。If the multicast processing node does not query the local multicast forwarding table to include the multicast identifier carried in the modified join request message, the feedback is abnormal.
其中,所述请求响应消息以网络层报文格式进行转发,其包括:源网络地址、目的网络地址和组播标识符;其中,所述源网络地址为组播处理节点的网络地址;所述目的网络地址为组播成员代理的网络地址。Wherein, the request response message is forwarded in a network layer message format, which includes: a source network address, a destination network address and a multicast identifier; wherein the source network address is the network address of the multicast processing node; the The destination network address is the network address of the multicast member proxy.
还用于封装及发送组播数据报文,并根据更新后的、本地维护的组播转发表,转发组播数据报文;It is also used to encapsulate and send multicast data packets, and forward multicast data packets according to the updated, locally maintained multicast forwarding table;
具体地,转发组播数据报文的具体过程如下:Specifically, the specific process of forwarding multicast data packets is as follows:
查询本地维护的组播转发表中是否包含组播数据报文中携带的组播标识符;Query whether the multicast forwarding table maintained locally contains the multicast identifier carried in the multicast data packet;
若本地维护的组播转发表中包含上述组播标识符,则得到该组播数据报文中携带的组播标识符对应的所有出端口,并将组播数据报文从组播转发表中该组播标识符对应的所有出端口复制该组播数据报文;If the multicast forwarding table maintained locally contains the above-mentioned multicast identifier, all outgoing ports corresponding to the multicast identifier carried in the multicast data packet are obtained, and the multicast data packet is removed from the multicast forwarding table. All outgoing ports corresponding to the multicast identifier replicate the multicast data packet;
若组播转发表不包含上述组播标识符,则进行错误处理,并反馈对应的处理结果。If the multicast forwarding table does not contain the above-mentioned multicast identifier, error processing is performed, and the corresponding processing result is fed back.
所述组播数据报文的结构如图2所示,所述组播数据报文包括源网络地址、目的网络地址和组播标识符;所述源网络地址为实现组播的网内组播处理节点的网络地址。The structure of the multicast data message is shown in Figure 2, and the multicast data message includes a source network address, a destination network address and a multicast identifier; the source network address is an intra-network multicast that implements multicast. The network address of the processing node.
位于网络边缘的组播处理节点采用组播协议代理,对组播成员代理发送的加入请求消息进行修改,将修改后的加入请求消息转发至所选择的组播处理节点。The multicast processing node located at the edge of the network adopts the multicast protocol proxy to modify the join request message sent by the multicast member proxy, and forwards the modified join request message to the selected multicast processing node.
具体地,位于网络边缘的组播处理节点接收并处理组播成员代理转发的、基于组播标识符的加入请求消息,向标识解析服务模块发送解析请求,对加入请求消息中携带的组播标识符进行解析,获得加入请求消息中携带的组播标识符对应的一组组播处理节点及其对应的IP网络地址,选择其中一个组播处理节点,将加入请求消息中的目的网络地址修改为所选择的组播处理节点的IP地址,获得修改后的加入请求消息,并将修改后的加入请求消息转发至所选择的组播处理节点;Specifically, the multicast processing node located at the edge of the network receives and processes the join request message based on the multicast identifier forwarded by the multicast member agent, sends a resolution request to the ID resolution service module, and interprets the multicast ID carried in the join request message. parse the identifier, obtain a group of multicast processing nodes corresponding to the multicast identifier carried in the join request message and their corresponding IP network addresses, select one of the multicast processing nodes, and modify the destination network address in the join request message to the IP address of the selected multicast processing node, obtain the modified join request message, and forward the modified join request message to the selected multicast processing node;
其中,采用组播协议代理,还可构造、封装和发送修改后的加入请求消息。Among them, by adopting the multicast protocol proxy, the modified join request message can also be constructed, encapsulated and sent.
其中,所述修改后的加入请求消息以网络层报文格式进行转发,其包括:源网络地址、目的网络地址和组播标识符;其中,所述源网络地址为组播成员代理的IP网络地址;所述目的网络地址为某一个组播处理节点的IP网络地址。Wherein, the modified join request message is forwarded in a network layer message format, which includes: a source network address, a destination network address and a multicast identifier; wherein the source network address is the IP network of the multicast member proxy address; the destination network address is the IP network address of a certain multicast processing node.
所述组播转发表包括:一组组播转发表项;The multicast forwarding table includes: a group of multicast forwarding table entries;
其中,该组组播转发表项中的每个组播转发表项进一步包括:一个组播标识符和出端口列表;Wherein, each multicast forwarding entry in the group of multicast forwarding entries further includes: a multicast identifier and an outgoing port list;
其中,所述出端口列表进一步包括:多个转发端口;Wherein, the outgoing port list further includes: multiple forwarding ports;
其中,所述组播标识符为键,出端口列表为值;一个组播标识符对应多个转发端口。The multicast identifier is a key, and the outgoing port list is a value; one multicast identifier corresponds to multiple forwarding ports.
所述组播成员代理为一个或多个,组播接收者为一个或多个,所述组播成员代理与组播接收者位于相同的广播域内;组播成员代理存有本地局部标识符,用于在本地广播域内,组播接收者与组播成员代理之间进行信息交互;The multicast member agent is one or more, the multicast receiver is one or more, and the multicast member agent and the multicast receiver are located in the same broadcast domain; the multicast member agent has a local local identifier, It is used for information exchange between multicast receivers and multicast member agents in the local broadcast domain;
还用于维护组播标识符与本地局部标识符之间的映射关系;It is also used to maintain the mapping relationship between the multicast identifier and the local local identifier;
还用于获取组播接收者发送的组播成员报告消息,根据组播成员报告消息构造加入请求消息,然后向组播处理节点发送构造的加入请求消息;It is also used to obtain the multicast member report message sent by the multicast receiver, construct a join request message according to the multicast member report message, and then send the constructed join request message to the multicast processing node;
还用于获取组播处理节点发送的组播数据报文后,并将其转发至组播接收者;It is also used to obtain the multicast data message sent by the multicast processing node and forward it to the multicast receiver;
其中,本地局部标识符在本地广播域内唯一,其具体为但不限于IP组播组地址。Wherein, the local local identifier is unique in the local broadcast domain, which is specifically, but not limited to, an IP multicast group address.
本发明还提供了一种基于标识解析路由的组播方法,该方法包括:The present invention also provides a multicast method based on identification resolution route, the method includes:
步骤1)组播接收者发送带有组播标识符的组播成员报告消息至组播成员代理,组播成员代理根据组播成员报告消息构造加入请求消息,并将构造好的加入请求消息发送至与其最近的位于网络边缘的组播处理节点,该组播处理节点通过组播协议代理,对组播成员代理发送的加入请求消息进行修改,将修改后的加入请求消息转发至正确的组播处理节点;Step 1) The multicast receiver sends a multicast member report message with a multicast identifier to the multicast member agent, and the multicast member agent constructs a join request message according to the multicast member report message, and sends the constructed join request message To the nearest multicast processing node at the network edge, the multicast processing node modifies the join request message sent by the multicast member proxy through the multicast protocol proxy, and forwards the modified join request message to the correct multicast processing node;
具体地,组播源发布带有组播标识符的组播服务,组播接收者通过该组播标识符申请加入带有该组播标识符的组播服务,向本地广播域内发送包含组播标识符的组播成员报告消息;Specifically, the multicast source publishes the multicast service with the multicast identifier, the multicast receiver applies for joining the multicast service with the multicast identifier through the multicast identifier, and sends the multicast service containing the multicast identifier to the local broadcast domain. the identifier of the multicast membership report message;
该组播成员代理接收该组播成员报告消息,并构造加入请求消息,组播成员代理将构造的加入请求消息发送至与其最近的位于网络边缘的组播处理节点,The multicast member agent receives the multicast member report message and constructs a join request message, and the multicast member agent sends the constructed join request message to the nearest multicast processing node located at the network edge,
位于网络边缘的组播处理节点接收组播成员代理转发的加入请求消息,向标识解析服务模块请求查询,获得加入请求消息中携带的组播标识符对应的一组组播处理节点及其对应的网络地址,选择其中一个组播处理节点,将加入请求消息 中的目的网络地址修改为所选择的组播处理节点的网络地址,获得修改后的加入请求消息,并将修改后的请求消息转发至所选择的组播处理节点。The multicast processing node located at the edge of the network receives the join request message forwarded by the multicast member agent, requests a query from the identification resolution service module, and obtains a group of multicast processing nodes corresponding to the multicast identifier carried in the join request message and their corresponding network address, select one of the multicast processing nodes, modify the destination network address in the join request message to the network address of the selected multicast processing node, obtain the modified join request message, and forward the modified request message to The selected multicast processing node.
步骤2)组播处理节点判断接收的修改后的加入请求消息的目的网络地址是否为当前接收的组播处理节点的网络地址,并根据判断结果,转发修改后的加入请求消息或者构造、转发请求响应消息;Step 2) The multicast processing node judges whether the destination network address of the received modified join request message is the network address of the currently received multicast processing node, and according to the judgment result, forwards the modified join request message or constructs and forwards the request response message;
具体地,组播处理节点接收修改后的加入请求消息,判断修改后的加入请求消息中携带的目的网络地址是否为当前接收修改后的加入请求消息的组播处理节点的网络地址;Specifically, the multicast processing node receives the modified join request message, and determines whether the destination network address carried in the modified join request message is the network address of the multicast processing node currently receiving the modified join request message;
如果修改后的加入请求消息中携带的目的网络地址不是当前接收修改后的加入请求消息的组播处理节点的网络地址,则根据修改后的加入请求消息中的目的网络地址,按照IP网络路由进行转发,直至转发至正确的组播处理节点;If the destination network address carried in the modified join request message is not the network address of the multicast processing node that currently receives the modified join request message, then according to the destination network address in the modified join request message, IP network routing is performed. Forward until forwarded to the correct multicast processing node;
如果修改后的加入请求消息中携带的目的网络地址是当前接收修改后的加入请求消息的组播处理节点的网络地址,则根据修改后的加入请求消息,更新本地维护的组播转发表,构造并转发请求响应消息。If the destination network address carried in the modified join request message is the network address of the multicast processing node currently receiving the modified join request message, update the locally maintained multicast forwarding table according to the modified join request message, and construct And forward the request response message.
具体地,组播处理节点在本地维护的组播转发表中查询是否包含修改后的加入请求消息中携带的组播标识符;Specifically, the multicast processing node queries whether the multicast forwarding table maintained locally contains the multicast identifier carried in the modified join request message;
如果组播处理节点在本地的组播转发表中查询到有包含修改后的加入请求消息中携带的组播标识符,则根据修改后的加入请求消息的源网络地址,在本地的路由表中查询并得到转发端口;If the multicast processing node finds the multicast identifier carried in the modified join request message in the local multicast forwarding table, then according to the source network address of the modified join request message, in the local routing table Query and get the forwarding port;
查找组播转发表中该组播标识符对应的出端口列表中是否包含上述查询得到的转发端口;Find out whether the forwarding port obtained by the above query is included in the outgoing port list corresponding to the multicast identifier in the multicast forwarding table;
若组播转发表中该组播标识符对应的出端口列表中不包含上述查询得到的转发端口,则在出端口列表中添加该转发端口;If the outgoing port list corresponding to the multicast identifier in the multicast forwarding table does not contain the forwarding port obtained by the above query, add the forwarding port to the outgoing port list;
若组播转发表中该组播标识符对应的出端口列表中包含上述查询得到的转发端口,则转至下一步骤:If the outgoing port list corresponding to the multicast identifier in the multicast forwarding table includes the forwarding port obtained by the above query, go to the next step:
组播处理节点构造请求响应消息及回复请求响应消息,下一个组播处理节点根据转发的请求响应消息,并更新组播转发表,直至转发至组播成员代理;The multicast processing node constructs a request response message and a reply request response message, and the next multicast processing node updates the multicast forwarding table according to the forwarded request response message until it is forwarded to the multicast member agent;
具体地,下一个组播处理节点接收转发的请求响应消息,并从其中提取组播标识符和目的网络地址,并根据请求响应消息中携带的目的网络地址,在本地维 护的路由表中查找到对应的转发端口;Specifically, the next multicast processing node receives the forwarded request response message, extracts the multicast identifier and the destination network address from it, and searches the locally maintained routing table according to the destination network address carried in the request response message. the corresponding forwarding port;
在本地维护的组播转发表中查询是否包含请求响应消息中携带的组播标识符;Query whether the multicast identifier carried in the request response message is included in the locally maintained multicast forwarding table;
如果下一个组播处理节点在本地的组播转发表中查询到有包含请求响应消息中携带的组播标识符,则获取该组播标识符对应的出端口列表,并进一步判断该出端口列表是否包含该转发端口;If the next multicast processing node finds the multicast identifier carried in the request response message in the local multicast forwarding table, it obtains the list of outgoing ports corresponding to the multicast identifier, and further judges the list of outgoing ports. Whether to include the forwarding port;
若该出端口列表中有该转发端口,则直接从该转发端口转发该请求响应消息;If there is the forwarding port in the outgoing port list, the request response message is directly forwarded from the forwarding port;
若该出端口列表中不包含该转发端口,则在该出端口列表中添加该转发端口,并直接从该转发端口转发该请求响应消息;If the forwarding port is not included in the outgoing port list, add the forwarding port in the outgoing port list, and directly forward the request response message from the forwarding port;
如果下一个组播处理节点在本地的组播转发表中没有查询到包含请求响应消息中携带的组播标识符,则在组播转发表中添加该组播标识符和上述转发端口,更新组播转发表,并向标识解析服务模块注册该组播标识符和该组播处理节点的IP网络地址之间的映射关系,从而成为该组播服务对应的一个组播处理节点,组播处理节点将请求响应消息从上述转发端口转发,直至转发至组播成员代理。If the next multicast processing node does not find the multicast identifier carried in the request response message in the local multicast forwarding table, it will add the multicast identifier and the above forwarding port to the multicast forwarding table, and update the group broadcast forwarding table, and register the mapping relationship between the multicast identifier and the IP network address of the multicast processing node to the ID resolution service module, so as to become a multicast processing node corresponding to the multicast service, and the multicast processing node The request-response message is forwarded from the above forwarding port until it is forwarded to the multicast member proxy.
如果组播处理节点在本地的组播转发表中没有查询到包含修改后的加入请求消息中携带的组播标识符,则反馈异常。If the multicast processing node does not query the local multicast forwarding table to include the multicast identifier carried in the modified join request message, the feedback is abnormal.
步骤3)组播处理节点根据接收到的请求响应消息更新本地维护的组播转发表,并根据本地维护的组播转发表,转发组播数据报文至组播成员代理。Step 3) The multicast processing node updates the locally maintained multicast forwarding table according to the received request response message, and forwards the multicast data message to the multicast member agent according to the locally maintained multicast forwarding table.
具体地,组播处理节点收到组播数据报文后,查询本地维护的组播转发表中是否包含组播数据报文中携带的组播标识符;Specifically, after receiving the multicast data message, the multicast processing node queries whether the locally maintained multicast forwarding table contains the multicast identifier carried in the multicast data message;
若本地维护的组播转发表中包含上述组播标识符,则得到该组播数据报文中携带的组播标识符对应的所有出端口,并将组播数据报文从组播转发表中该组播标识符对应的所有出端口复制该组播数据报文,If the multicast forwarding table maintained locally contains the above-mentioned multicast identifier, all outgoing ports corresponding to the multicast identifier carried in the multicast data packet are obtained, and the multicast data packet is removed from the multicast forwarding table. All outgoing ports corresponding to the multicast identifier replicate the multicast data packet,
若组播转发表不包含上述组播标识符,则进行错误处理,并反馈对应的处理结果。If the multicast forwarding table does not contain the above-mentioned multicast identifier, error processing is performed, and the corresponding processing result is fed back.
其中,所述错误处理包括:丢弃组播数据报文、向上级组播处理节点反馈错误信息、向其所有邻接的组播处理节点反馈错误信息、更新组播转发表并添加该 组播数据报文中携带的组播标识符对应的组播转发表项。The error handling includes: discarding the multicast data message, feeding back error information to the upper-level multicast processing node, feeding back error information to all its adjacent multicast processing nodes, updating the multicast forwarding table and adding the multicast datagram The multicast forwarding entry corresponding to the multicast identifier carried in the text.
其中,在进行组播数据报文转发过程中,如图3所示,所述组播转发表包括:组包标识符和出端口列表;组播标识符为键,对应组播数据报文中携带的组播标识符;出端口列表为值,对应转发组播数据报文的一组转发端口。In the process of forwarding the multicast data message, as shown in FIG. 3 , the multicast forwarding table includes: a group packet identifier and a list of outgoing ports; the multicast identifier is a key, corresponding to the data carried in the multicast data message. Multicast identifier; the list of outgoing ports is a value, corresponding to a group of forwarding ports for forwarding multicast data packets.
实施例1.Example 1.
为了更好地说明本发明的技术方案,特给出了如下实施例来进一步说明本发明的基于表示解析路由的组播方法,其中,所涉及的技术术语的解释如下:In order to better illustrate the technical solution of the present invention, the following embodiments are specially provided to further illustrate the multicast method based on the representation and analysis route of the present invention, wherein the explanations of the technical terms involved are as follows:
组播标识符,是指与网络地址无关的全局唯一的能够代表一个组播服务的标识符;网络地址,是指该终端所在位置的网络可路由的地址信息,包括但不限于使用IP地址等信息。Multicast identifier refers to a globally unique identifier that is independent of network address and can represent a multicast service; network address refers to network routable address information where the terminal is located, including but not limited to the use of IP addresses, etc. information.
组播处理节点的每个端口都有一个IP地址,我们指定其中一个IP地址作为组播处理节点的IP地址,代表组播处理节点的位置信息。Each port of the multicast processing node has an IP address, and we designate one of the IP addresses as the IP address of the multicast processing node, which represents the location information of the multicast processing node.
所描述的实施例中,组播标识符使用EID(Entity ID)表示,网络地址使用IP地址表示。组播源1发布组播标识符为EID1的组播服务,且标识解析服务模块中已经注册了组播标识符EID1和组播处理节点1的网络地址IP2的映射关系。其中组播处理节点3和组播处理节点4位网络的边缘节点,具有组播协议代理的功能。In the described embodiment, the multicast identifier is represented by EID (Entity ID), and the network address is represented by IP address. The multicast source 1 publishes the multicast service whose multicast identifier is EID1, and the mapping relationship between the multicast identifier EID1 and the network address IP2 of the multicast processing node 1 has been registered in the identification resolution service module. Among them, the multicast processing node 3 and the multicast processing node 4 are edge nodes of the network, which have the function of multicast protocol proxy.
如图6所示,组播源1发布组播标识符为EID1的组播服务,组播接收者2已经通过组播标识符EID1加入组播服务,组播处理节点1、组播处理节点2和组播处理节点4都已经向标识解析服务模块注册组播标识符EID1和其网络地址之间的映射。标识解析服务模块维护组播标识符EID1和IP2、IP3、IP7之间的映射关系。As shown in Figure 6, multicast source 1 publishes a multicast service with the multicast identifier EID1, multicast receiver 2 has joined the multicast service through the multicast identifier EID1, multicast processing node 1, multicast processing node 2 and the multicast processing node 4 have registered the mapping between the multicast identifier EID1 and its network address with the identity resolution service module. The identity resolution service module maintains the mapping relationship between the multicast identifier EID1 and IP2, IP3, and IP7.
组播接收者1通过组播标识符EID1申请加入组播标识符为EID1的组播服务,组播接收者1获取组播标识符EID1对应的组播组网络地址IPm1,并向本地广播域内发送包含组播标识符的组播成员报告消息The multicast receiver 1 applies for joining the multicast service with the multicast identifier EID1 through the multicast identifier EID1. The multicast receiver 1 obtains the multicast group network address IPm1 corresponding to the multicast identifier EID1, and sends it to the local broadcast domain. Multicast membership report message containing the multicast identifier
组播成员代理1接收该组播成员报告消息,维护组播标识符EID1对应的组播组网络地址IPm1之间的映射关系,并构造加入请求消息,所述加入请求消息以网络层报文格式进行转发,其包括:组播成员代理的网络地址IP5作为源网络地址,与组播成员代理最近的位于网络边缘的组播处理节点3的网络地址IP4作 为目的网络地址,和组播标识符EID1,该组播成员代理1将该加入请求消息发送至与组播成员代理最近的位于网络边缘的组播处理节点3;The multicast member agent 1 receives the multicast member report message, maintains the mapping relationship between the multicast group network addresses IPm1 corresponding to the multicast identifier EID1, and constructs a join request message in the network layer message format Forwarding, which includes: the network address IP5 of the multicast member agent as the source network address, the network address IP4 of the multicast processing node 3 located at the network edge closest to the multicast member agent as the destination network address, and the multicast identifier EID1 , the multicast member proxy 1 sends the join request message to the multicast processing node 3 located at the network edge closest to the multicast member proxy;
组播处理节点3接收到组播成员代理1发来的加入请求消息,通过组播协议代理,向标识解析服务模块发送对加入请求消息中携带的组播标识符EID1的解析请求,标识解析服务模块返回组播标识符EID1对应的一组组播处理节点的网络地址IP2、IP3和IP7。组播处理节点3选择网络地址为IP3的组播处理节点2作为目标组播处理节点,将加入请求消息中的目的网络地址修改为组播处理节点2的IP网络地址IP3,得到修改后的加入请求消息,该修改后的加入请求消息以网络层报文格式进行转发,其包括:源网络地址为组播成员代理1的组播组网络地址IP5,目的网络地址为组播处理节点2的网络地址IP3和组播标识符EID1;组播处理节点3将修改后的加入请求消息转发给组播处理节点2;The multicast processing node 3 receives the join request message sent by the multicast member agent 1, and sends a resolution request for the multicast identifier EID1 carried in the join request message to the identification resolution service module through the multicast protocol agent, and identifies the resolution service module. The module returns the network addresses IP2, IP3 and IP7 of a group of multicast processing nodes corresponding to the multicast identifier EID1. The multicast processing node 3 selects the multicast processing node 2 whose network address is IP3 as the target multicast processing node, modifies the destination network address in the join request message to the IP network address IP3 of the multicast processing node 2, and obtains the modified join The request message, the modified join request message is forwarded in the network layer message format, which includes: the source network address is the multicast group network address IP5 of the multicast member agent 1, and the destination network address is the network address of the multicast processing node 2. The address IP3 and the multicast identifier EID1; the multicast processing node 3 forwards the modified join request message to the multicast processing node 2;
如图7所示,组播处理节点2接收修改后的加入请求消息,判断加入请求消息的目的IP地址IP3是组播处理节点2的IP地址。组播处理节点2提取该加入请求消息中的源网络地址IP5和组播标识符EID1。As shown in FIG. 7 , the multicast processing node 2 receives the modified join request message, and determines that the destination IP address IP3 of the join request message is the IP address of the multicast processing node 2 . The multicast processing node 2 extracts the source network address IP5 and the multicast identifier EID1 in the join request message.
组播处理节点2在本地维护的组播转发表中查询得到修改后的加入请求消息中携带的组播标识符EID1,组播处理节点2根据修改后的加入请求消息的源网络地址IP5,在本地的路由表中查询并得到转发端口2;The multicast processing node 2 obtains the multicast identifier EID1 carried in the modified join request message by querying the locally maintained multicast forwarding table, and the multicast processing node 2, according to the source network address IP5 of the modified join request message, Query the local routing table and get forwarding port 2;
组播处理节点2查找组播转发表中该组播标识符EID1对应的出端口列表中不包含上述查询得到的转发端口2,则在出端口列表中添加该转发端口2;The multicast processing node 2 finds that the outgoing port list corresponding to the multicast identifier EID1 in the multicast forwarding table does not contain the forwarding port 2 obtained by the above query, and then adds the forwarding port 2 to the outgoing port list;
组播处理节点构造及回复请求响应消息,所述请求响应消息以网络层报文格式进行转发,其包括:源网络地址为组播处理节点2的网络地址IP3,目的网络地址为组播成员代理1的网络地址IP5和组播标识符EID1。The multicast processing node constructs and replies a request-response message, the request-response message is forwarded in a network layer message format, which includes: the source network address is the network address IP3 of the multicast processing node 2, and the destination network address is the multicast member proxy 1's network address IP5 and multicast identifier EID1.
组播处理节点3收到请求响应消息,从其中提取组播标识符EID1和目的网络地址IP5,并根据请求响应消息中携带的目的网络地址IP5,在本地维护的路由表中查找到对应的转发端口2;The multicast processing node 3 receives the request response message, extracts the multicast identifier EID1 and the destination network address IP5 from it, and finds the corresponding forwarding in the locally maintained routing table according to the destination network address IP5 carried in the request response message port 2;
组播处理节点3在本地维护的组播转发表中查询是否包含请求响应消息中携带的组播标识符EID1,The multicast processing node 3 queries whether the multicast forwarding table maintained locally contains the multicast identifier EID1 carried in the request response message,
组播处理节点3在本地维护的组播转发表中没有查询到组播标识符EID1,则在组播转发表中添加该组播标识符EID1和上述转发端口2,并向标识解析服 务模块注册该组播标识符EID1和该组播处理节点3的IP网络地址IP4之间的映射关系,从而成为该组播服务对应的一个实现组播的组播处理节点,组播处理节点3将从上述转发端口2转发请求响应消息至组播成员代理1。The multicast processing node 3 does not find the multicast identifier EID1 in the locally maintained multicast forwarding table, then adds the multicast identifier EID1 and the above-mentioned forwarding port 2 in the multicast forwarding table, and registers it with the identification resolution service module The mapping relationship between the multicast identifier EID1 and the IP network address IP4 of the multicast processing node 3 becomes a multicast processing node that implements multicast corresponding to the multicast service. Forwarding port 2 forwards the request-response message to multicast member agent 1.
如图8所示,组播源1生成并发送组播数据报文;As shown in Figure 8, multicast source 1 generates and sends multicast data packets;
组播处理节点1接收组播数据报文后,在本地维护的组播转发表中查询并得到组播数据报文中携带的组播标识符EID1对应的出端口为端口2,将组播数据报文从端口2转发至组播处理节点2;After receiving the multicast data packet, the multicast processing node 1 queries the locally maintained multicast forwarding table and obtains that the outgoing port corresponding to the multicast identifier EID1 carried in the multicast data packet is port 2. The packet is forwarded from port 2 to multicast processing node 2;
组播处理节点2接收组播数据报文后,在本地维护的组播转发表中查询得到组播数据报文中携带的组播标识符EID1对应的出端口为端口2和端口3,将组播数据报文复制一份,获得两份组播数据报文,并将两份组播数据报文分别从端口2和端口3转发至对应的组播处理节点3和组播处理节点4;After receiving the multicast data packet, the multicast processing node 2 queries the locally maintained multicast forwarding table to obtain the outgoing ports corresponding to the multicast identifier EID1 carried in the multicast data packet as port 2 and port 3. Copy one multicast data message, obtain two multicast data messages, and forward the two multicast data messages from port 2 and port 3 to the corresponding multicast processing node 3 and multicast processing node 4 respectively;
组播处理节点3收到组播数据报文后,在本地维护的组播转发表中查询并得到组播数据报文中携带的组播标识符EID1对应的出端口为端口2,将组播数据报文从端口2转发至组播成员代理1;After the multicast processing node 3 receives the multicast data packet, it queries the locally maintained multicast forwarding table and obtains that the outgoing port corresponding to the multicast identifier EID1 carried in the multicast data packet is port 2. Data packets are forwarded from port 2 to multicast member proxy 1;
组播成员代理1接收组播数据报文后,将组播数据报文的目的网络地址改为组播组网络地址IPm1,并以IP组播的方式转发至组播接收者1,组播接收者1收到组播数据报文;After the multicast member agent 1 receives the multicast data packet, it changes the destination network address of the multicast data packet to the multicast group network address IPm1, and forwards it to the multicast receiver 1 in the way of IP multicast. Receiver 1 receives the multicast data packet;
组播处理节点4收到组播数据报文后,在本地维护的组播转发表中查询并得到组播数据报文中携带的组播标识符EID1对应的出端口为端口2,将组播数据报文从端口2转发至组播成员代理2;After the multicast processing node 4 receives the multicast data packet, it queries the locally maintained multicast forwarding table and obtains that the outgoing port corresponding to the multicast identifier EID1 carried in the multicast data packet is port 2, and the multicast Data packets are forwarded from port 2 to multicast member agent 2;
组播成员代理2接收组播数据报文后,将组播数据报文的目的网络地址改为组播组网络地址IPm1,并以IP组播的方式转发给组播接收者2,组播接收者2收到组播数据报文。After the multicast member agent 2 receives the multicast data packet, it changes the destination network address of the multicast data packet to the multicast group network address IPm1, and forwards it to the multicast receiver 2 in the way of IP multicast. Player 2 receives the multicast data packet.
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and not to limit them. Although the present invention has been described in detail with reference to the embodiments, those of ordinary skill in the art should understand that any modification or equivalent replacement of the technical solutions of the present invention will not depart from the spirit and scope of the technical solutions of the present invention, and should be included in the present invention. within the scope of the claims.

Claims (20)

  1. 一种基于标识解析路由的组播系统,该系统包括:组播源、组播接收者、组播成员代理和组播处理节点;其特征在于,该系统还包括:部署在云端或网络中的标识解析服务模块,用于采用与网络地址无关的全局唯一标识符,作为组播标识符,能够唯一识别一个组播服务,而网络地址仍为IP网络的地址;A multicast system based on identification resolution routing, the system includes: a multicast source, a multicast receiver, a multicast member agent and a multicast processing node; it is characterized in that, the system further includes: deployed in the cloud or in the network The identification resolution service module is used to use a globally unique identifier unrelated to the network address as a multicast identifier, which can uniquely identify a multicast service, while the network address is still the address of the IP network;
    还用于维护组播标识符和一个或多个组播处理节点的IP网络地址之间的映射关系;It is also used to maintain the mapping relationship between the multicast identifier and the IP network addresses of one or more multicast processing nodes;
    还用于提供注册、注销、解析查询服务;It is also used to provide registration, cancellation, and resolution query services;
    承载组播的网络节点包括:组播处理节点和IP网络路由交换节点;The network nodes that bear multicast include: multicast processing nodes and IP network routing switching nodes;
    所述组播接收者,用于通过组播标识符申请加入组播服务。The multicast receiver is used to apply for joining the multicast service through the multicast identifier.
  2. 根据权利要求1所述的基于标识解析路由的组播系统,其特征在于,所述标识解析服务模块,还用于提供注册、注销、解析查询服务;具体为:The multicast system based on ID resolution routing according to claim 1, wherein the ID resolution service module is further configured to provide registration, deregistration, resolution query services; specifically:
    所述标识解析服务模块支持组播标识符和一个或多个组播处理节点的IP网络地址之间的映射关系的注册、注销,以及通过组播标识符解析查询组播处理节点的IP网络地址;其中,一个组播标识符对应一个或多个组播处理节点的IP网络地址。The identification resolution service module supports the registration and deregistration of the mapping relationship between the multicast identifier and the IP network addresses of one or more multicast processing nodes, and queries the IP network addresses of the multicast processing nodes through the resolution of the multicast identifier ; wherein, a multicast identifier corresponds to the IP network addresses of one or more multicast processing nodes.
  3. 根据权利要求1所述的基于标识解析路由的组播系统,其特征在于,所述组播处理节点的数量为一个或多个,用于实现IP网络路由交换节点所具有的功能;The multicast system based on identification resolution routing according to claim 1, wherein the number of the multicast processing nodes is one or more, and is used to realize the function of the IP network routing switching node;
    还用于转发或处理修改后的加入请求消息,判断修改后的加入请求消息中的目的网络地址是否为当前接收的组播处理节点的网络地址,并根据判断结果,转发修改后的加入请求消息或者构造、转发请求响应消息;It is also used to forward or process the modified join request message, determine whether the destination network address in the modified join request message is the network address of the currently received multicast processing node, and forward the modified join request message according to the judgment result. Or construct and forward request response messages;
    还用于封装及发送组播数据报文,并根据更新后的、本地维护的组播转发表,转发组播数据报文;It is also used to encapsulate and send multicast data packets, and forward multicast data packets according to the updated, locally maintained multicast forwarding table;
    位于网络边缘的组播处理节点采用组播协议代理,对组播成员代理发送的加入请求消息进行修改,将修改后的加入请求消息转发至所选择的组播处理节点。The multicast processing node located at the edge of the network adopts the multicast protocol proxy to modify the join request message sent by the multicast member proxy, and forwards the modified join request message to the selected multicast processing node.
  4. 根据权利要求3所述的基于标识解析路由的组播系统,其特征在于,所述位于网络边缘的组播处理节点采用组播协议代理,对组播成员代理发送的加入请求消息进行修改,将修改后的加入请求消息转发至所选择的组播处理节点;其 具体实现过程为:The multicast system based on ID resolution routing according to claim 3, wherein the multicast processing node located at the edge of the network adopts a multicast protocol proxy to modify the join request message sent by the multicast member proxy, and The modified join request message is forwarded to the selected multicast processing node; the specific implementation process is as follows:
    位于网络边缘的组播处理节点接收并处理组播成员代理转发的、基于组播标识符的加入请求消息,向标识解析服务模块发送解析请求,对加入请求消息中携带的组播标识符进行解析,获得加入请求消息中携带的组播标识符对应的一组组播处理节点及其对应的IP网络地址,选择其中一个组播处理节点,将加入请求消息中的目的网络地址修改为所选择的组播处理节点的IP地址,获得修改后的加入请求消息,并将修改后的加入请求消息转发至所选择的组播处理节点;The multicast processing node located at the edge of the network receives and processes the join request message based on the multicast identifier forwarded by the multicast member agent, sends a resolution request to the identification resolution service module, and parses the multicast identifier carried in the join request message. , obtain a group of multicast processing nodes corresponding to the multicast identifier carried in the join request message and their corresponding IP network addresses, select one of the multicast processing nodes, and modify the destination network address in the join request message to the selected one the IP address of the multicast processing node, obtain the modified join request message, and forward the modified join request message to the selected multicast processing node;
    其中,采用组播协议代理,还可构造、封装和发送修改后的加入请求消息。Among them, by adopting the multicast protocol proxy, the modified join request message can also be constructed, encapsulated and sent.
  5. 根据权利要求4所述的基于标识解析路由的组播系统,其特征在于,所述修改后的加入请求消息以网络层报文格式进行转发,其包括:源网络地址、目的网络地址和组播标识符;其中,所述源网络地址为组播成员代理的IP网络地址;所述目的网络地址为某一个组播处理节点的IP网络地址。The multicast system based on ID resolution routing according to claim 4, wherein the modified join request message is forwarded in a network layer packet format, which includes: source network address, destination network address and multicast identifier; wherein, the source network address is the IP network address of the multicast member proxy; the destination network address is the IP network address of a multicast processing node.
  6. 根据权利要求3所述的基于标识解析路由的组播系统,其特征在于,所述组播转发表包括:一组组播转发表项;The multicast system based on identity resolution routing according to claim 3, wherein the multicast forwarding table comprises: a group of multicast forwarding table entries;
    其中,该组组播转发表项中的每个组播转发表项进一步包括:一个组播标识符和出端口列表;Wherein, each multicast forwarding entry in the group of multicast forwarding entries further includes: a multicast identifier and an outgoing port list;
    其中,所述出端口列表进一步包括:多个转发端口;Wherein, the outgoing port list further includes: multiple forwarding ports;
    其中,所述组播标识符为键,出端口列表为值;一个组播标识符对应一个或多个转发端口。The multicast identifier is a key, and the outgoing port list is a value; a multicast identifier corresponds to one or more forwarding ports.
  7. 根据权利要求3所述的基于标识解析路由的组播系统,其特征在于,所述组播处理节点,用于转发或处理修改后的加入请求消息,判断修改后的加入请求消息中的目的网络地址是否为当前接收的组播处理节点的网络地址,并根据判断结果,转发修改后的加入请求消息或者构造、转发请求响应消息;其具体实施过程为:The multicast system based on identification resolution routing according to claim 3, wherein the multicast processing node is used to forward or process the modified join request message, and determine the destination network in the modified join request message Whether the address is the network address of the currently received multicast processing node, and according to the judgment result, forward the modified join request message or construct and forward the request response message; the specific implementation process is as follows:
    组播处理节点接收修改后的加入请求消息,判断修改后的加入请求消息中携带的目的网络地址是否为当前接收修改后的加入请求消息的组播处理节点的IP网络地址;The multicast processing node receives the modified join request message, and determines whether the destination network address carried in the modified join request message is the IP network address of the multicast processing node currently receiving the modified join request message;
    如果修改后的加入请求消息中携带的目的网络地址不是当前接收修改后的加入请求消息的组播处理节点的IP网络地址,则根据修改后的加入请求消息中 的目的网络地址,按照IP网络路由转发至正确的组播处理节点;If the destination network address carried in the modified join request message is not the IP network address of the multicast processing node that currently receives the modified join request message, then according to the destination network address in the modified join request message, the IP network routing is performed. Forward to the correct multicast processing node;
    如果修改后的加入请求消息中携带的目的网络地址是当前接收修改后的加入请求消息的组播处理节点的网络地址,则根据修改后的加入请求消息,更新本地的组播转发表,构造并转发请求响应消息。If the destination network address carried in the modified join request message is the network address of the multicast processing node that currently receives the modified join request message, update the local multicast forwarding table according to the modified join request message, and construct a Forward request response message.
  8. 根据权利要求7所述的基于标识解析路由的组播系统,其特征在于,所述请求响应消息以网络层报文格式进行转发,其包括:源网络地址、目的网络地址和组播标识符;其中,所述源网络地址为组播处理节点的网络地址;所述目的网络地址为组播成员代理的网络地址。The multicast system based on identity resolution routing according to claim 7, wherein the request response message is forwarded in a network layer message format, which includes: a source network address, a destination network address and a multicast identifier; Wherein, the source network address is the network address of the multicast processing node; the destination network address is the network address of the multicast member proxy.
  9. 根据权利要求7所述的基于标识解析路由的组播系统,其特征在于,所述根据修改后的加入请求消息,更新本地的组播转发表,构造并转发请求响应消息,具体过程为:The multicast system based on identification resolution routing according to claim 7, wherein, according to the modified join request message, the local multicast forwarding table is updated, and the request response message is constructed and forwarded, and the specific process is:
    组播处理节点在本地维护的组播转发表中查询是否包含修改后的加入请求消息中携带的组播标识符;The multicast processing node queries the locally maintained multicast forwarding table whether the multicast identifier carried in the modified join request message is included;
    如果组播处理节点在本地的组播转发表中查询到有包含修改后的加入请求消息中携带的组播标识符,则根据修改后的加入请求消息的源网络地址,在本地的路由表中查询并得到转发端口;If the multicast processing node finds the multicast identifier carried in the modified join request message in the local multicast forwarding table, then according to the source network address of the modified join request message, in the local routing table Query and get the forwarding port;
    查找组播转发表中该组播标识符对应的出端口列表中是否包含上述查询得到的转发端口;Find out whether the forwarding port obtained by the above query is included in the outgoing port list corresponding to the multicast identifier in the multicast forwarding table;
    若组播转发表中该组播标识符对应的出端口列表中不包含上述查询得到的转发端口,则在出端口列表中添加该转发端口;If the outgoing port list corresponding to the multicast identifier in the multicast forwarding table does not contain the forwarding port obtained by the above query, add the forwarding port to the outgoing port list;
    若组播转发表中该组播标识符对应的出端口列表中包含上述查询得到的转发端口,则转至下一步骤:If the outgoing port list corresponding to the multicast identifier in the multicast forwarding table includes the forwarding port obtained by the above query, go to the next step:
    组播处理节点构造请求响应消息及回复请求响应消息,下一个组播处理节点根据转发的请求响应消息,更新组播转发表,直至转发至组播成员代理;The multicast processing node constructs a request response message and a reply request response message, and the next multicast processing node updates the multicast forwarding table according to the forwarded request response message until it is forwarded to the multicast member agent;
    如果组播处理节点在本地的组播转发表中没有查询到包含修改后的加入请求消息中携带的组播标识符,则反馈异常。If the multicast processing node does not query the local multicast forwarding table to include the multicast identifier carried in the modified join request message, the feedback is abnormal.
  10. 根据权利要求9所述的基于标识解析路由的组播系统,其特征在于,所述下一个组播处理节点根据转发的请求响应消息,更新组播转发表,直至转发至组播成员代理;具体为:The multicast system based on identification resolution routing according to claim 9, wherein the next multicast processing node updates the multicast forwarding table according to the forwarded request response message until it is forwarded to the multicast member agent; specifically for:
    下一个组播处理节点接收转发的请求响应消息,并从其中提取组播标识符和目的网络地址,并根据请求响应消息中携带的目的网络地址,在本地维护的路由表中查找到对应的转发端口;The next multicast processing node receives the forwarded request-response message, extracts the multicast identifier and destination network address from it, and finds the corresponding forwarding in the locally maintained routing table according to the destination network address carried in the request-response message port;
    在本地维护的组播转发表中查询是否包含请求响应消息中携带的组播标识符;Query whether the multicast identifier carried in the request response message is included in the locally maintained multicast forwarding table;
    如果下一个组播处理节点在本地维护的组播转发表中查询到有包含请求响应消息中携带的组播标识符,则获取该组播标识符对应的出端口列表,并进一步判断该出端口列表是否包含该转发端口;If the next multicast processing node finds the multicast identifier carried in the request response message in the locally maintained multicast forwarding table, it obtains the list of outgoing ports corresponding to the multicast identifier, and further determines the outgoing port. Whether the list contains the forwarding port;
    若该出端口列表中有该转发端口,则直接从该转发端口转发请求响应消息;If there is the forwarding port in the outgoing port list, the request response message is directly forwarded from the forwarding port;
    若该出端口列表中不包含该转发端口,则在该出端口列表中添加该转发端口,并直接从该转发端口转发请求响应消息;If the forwarding port is not included in the outgoing port list, add the forwarding port in the outgoing port list, and directly forward the request response message from the forwarding port;
    如果下一个组播处理节点在本地的路由表中没有查询到包含请求响应消息中携带的组播标识符,则在组播转发表中添加该组播标识符和上述转发端口,更新组播转发表,并向标识解析服务模块注册该组播标识符和该组播处理节点的IP网络地址之间的映射关系,从而成为该组播服务对应的一个组播处理节点,该组播处理节点将从上述转发端口转发请求响应消息,直至转发至组播成员代理。If the next multicast processing node does not find the multicast identifier carried in the request response message in the local routing table, it will add the multicast identifier and the above forwarding port in the multicast forwarding table, and update the multicast forwarding published, and register the mapping relationship between the multicast identifier and the IP network address of the multicast processing node with the ID resolution service module, so as to become a multicast processing node corresponding to the multicast service, and the multicast processing node will Forward request-response messages from the above forwarding port until forwarded to the multicast member proxy.
  11. 根据权利要求3所述的基于标识解析路由的组播系统,其特征在于,所述组播数据报文包括源网络地址、目的网络地址和组播标识符;所述源网络地址为实现组播的网内组播处理节点的网络地址。The multicast system based on ID resolution routing according to claim 3, wherein the multicast data message includes a source network address, a destination network address and a multicast identifier; the source network address is for realizing multicast The network address of the multicast processing node in the network.
  12. 根据权利要求11所述的基于标识解析路由的组播系统,其特征在于,所述组播处理节点,还用于转发组播数据报文;其具体实现过程为:The multicast system based on identification resolution routing according to claim 11, wherein the multicast processing node is further configured to forward multicast data packets; its specific implementation process is:
    查询本地维护的组播转发表中是否包含组播数据报文中携带的组播标识符;Query whether the multicast forwarding table maintained locally contains the multicast identifier carried in the multicast data packet;
    若本地维护的组播转发表中包含上述组播标识符,则得到该组播数据报文中携带的组播标识符对应的所有出端口,并将组播数据报文从组播转发表中该组播标识符对应的所有出端口复制该组播数据报文;If the multicast forwarding table maintained locally contains the above-mentioned multicast identifier, all outgoing ports corresponding to the multicast identifier carried in the multicast data packet are obtained, and the multicast data packet is removed from the multicast forwarding table. All outgoing ports corresponding to the multicast identifier replicate the multicast data packet;
    若组播转发表不包含上述组播标识符,则进行错误处理,并反馈对应的处理结果。If the multicast forwarding table does not contain the above-mentioned multicast identifier, error processing is performed, and the corresponding processing result is fed back.
  13. 根据权利要求1所述的基于标识解析路由的组播系统,其特征在于,所述组播成员代理为一个或多个,组播接收者为一个或多个,所述组播成员代理与 组播接收者位于相同的广播域内;组播成员代理存有本地局部标识符,用于在本地广播域内,组播接收者与组播成员代理之间进行信息交互;The multicast system based on ID resolution routing according to claim 1, wherein, there are one or more multicast member agents, one or more multicast receivers, and the multicast member agents are associated with the group The multicast receiver is located in the same broadcast domain; the multicast member agent has a local local identifier, which is used for information exchange between the multicast receiver and the multicast member agent in the local broadcast domain;
    还用于维护组播标识符与本地局部标识符之间的映射关系;It is also used to maintain the mapping relationship between the multicast identifier and the local local identifier;
    还用于获取组播接收者发送的组播成员报告消息,根据组播成员报告消息构造加入请求消息,然后向组播处理节点发送构造的加入请求消息;It is also used to obtain the multicast member report message sent by the multicast receiver, construct the join request message according to the multicast member report message, and then send the constructed join request message to the multicast processing node;
    还用于获取组播处理节点发送的组播数据报文后,并将其转发至组播接收者;It is also used to obtain the multicast data message sent by the multicast processing node and forward it to the multicast receiver;
    其中,本地局部标识符在本地广播域内唯一,其具体为但不限于IP组播组地址。Wherein, the local local identifier is unique in the local broadcast domain, which is specifically, but not limited to, an IP multicast group address.
  14. 一种基于标识解析路由的组播方法,其特征在于,该方法是基于上述权利要求1-13中任一所述的基于标识解析路由的组播系统来实现,该方法包括:A multicast method based on identification resolution routing, characterized in that the method is implemented based on the identification resolution routing based multicast system according to any one of the above claims 1-13, and the method includes:
    步骤1)组播接收者发送带有组播标识符的组播成员报告消息至组播成员代理,组播成员代理根据组播成员报告消息构造加入请求消息,并将构造好的加入请求消息发送至与其最近的位于网络边缘的组播处理节点,该组播处理节点通过组播协议代理,对组播成员代理发送的加入请求消息进行修改,将修改后的加入请求消息转发至正确的组播处理节点;Step 1) The multicast receiver sends a multicast member report message with a multicast identifier to the multicast member agent, and the multicast member agent constructs a join request message according to the multicast member report message, and sends the constructed join request message To the nearest multicast processing node at the network edge, the multicast processing node modifies the join request message sent by the multicast member proxy through the multicast protocol proxy, and forwards the modified join request message to the correct multicast processing node;
    步骤2)组播处理节点判断接收的修改后的加入请求消息的目的网络地址是否为当前接收的组播处理节点的网络地址,并根据判断结果,转发修改后的加入请求消息或者构造、转发请求响应消息;Step 2) The multicast processing node judges whether the destination network address of the received modified join request message is the network address of the currently received multicast processing node, and forwards the modified join request message or constructs and forwards the request according to the judgment result response message;
    步骤3)组播处理节点根据接收到的请求响应消息更新本地维护的组播转发表,并根据本地维护的组播转发表,转发组播数据报文至组播成员代理。Step 3) The multicast processing node updates the locally maintained multicast forwarding table according to the received request response message, and forwards the multicast data message to the multicast member agent according to the locally maintained multicast forwarding table.
  15. 根据权利要求14所述的基于标识解析路由的组播方法,其特征在于,所述步骤1)的具体过程如下:The multicast method based on identity resolution routing according to claim 14, wherein the specific process of the step 1) is as follows:
    组播源发布带有组播标识符的组播服务,组播接收者通过该组播标识符申请加入带有该组播标识符的组播服务,向本地广播域内发送包含组播标识符的组播成员报告消息;The multicast source publishes the multicast service with the multicast identifier, the multicast receiver applies for joining the multicast service with the multicast identifier through the multicast identifier, and sends a message containing the multicast identifier to the local broadcast domain. Multicast member report message;
    该组播成员代理接收该组播成员报告消息,并构造加入请求消息,组播成员代理将构造的加入请求消息发送至与其最近的位于网络边缘的组播处理节点,The multicast member agent receives the multicast member report message and constructs a join request message, and the multicast member agent sends the constructed join request message to the nearest multicast processing node located at the network edge,
    位于网络边缘的组播处理节点接收组播成员代理转发的加入请求消息,向标 识解析服务模块请求查询,获得加入请求消息中携带的组播标识符对应的一组组播处理节点及其对应的网络地址,选择其中一个组播处理节点,将加入请求消息中的目的网络地址修改为所选择的组播处理节点的网络地址,获得修改后的加入请求消息,并将修改后的请求消息转发至所选择的组播处理节点。The multicast processing node located at the edge of the network receives the join request message forwarded by the multicast member agent, requests a query from the identification resolution service module, and obtains a group of multicast processing nodes corresponding to the multicast identifier carried in the join request message and their corresponding network address, select one of the multicast processing nodes, modify the destination network address in the join request message to the network address of the selected multicast processing node, obtain the modified join request message, and forward the modified request message to The selected multicast processing node.
  16. 根据权利要求14所述的基于标识解析路由的组播方法,其特征在于,所述步骤2)的具体过程如下:The multicast method based on identity resolution routing according to claim 14, wherein the specific process of the step 2) is as follows:
    组播处理节点接收修改后的加入请求消息,判断修改后的加入请求消息中携带的目的网络地址是否为当前接收修改后的加入请求消息的组播处理节点的网络地址;The multicast processing node receives the modified join request message, and determines whether the destination network address carried in the modified join request message is the network address of the multicast processing node currently receiving the modified join request message;
    如果修改后的加入请求消息中携带的目的网络地址不是当前接收修改后的加入请求消息的组播处理节点的网络地址,则根据修改后的加入请求消息中的目的网络地址,按照IP网络路由进行转发,直至转发至正确的组播处理节点;If the destination network address carried in the modified join request message is not the network address of the multicast processing node that currently receives the modified join request message, then according to the destination network address in the modified join request message, IP network routing is performed. Forward until forwarded to the correct multicast processing node;
    如果修改后的加入请求消息中携带的目的网络地址是当前接收修改后的加入请求消息的组播处理节点的网络地址,则根据修改后的加入请求消息,更新本地维护的组播转发表,构造并转发请求响应消息。If the destination network address carried in the modified join request message is the network address of the multicast processing node currently receiving the modified join request message, update the locally maintained multicast forwarding table according to the modified join request message, and construct And forward the request response message.
  17. 根据权利要求16所述的基于标识解析路由的组播方法,其特征在于,所述根据修改后的加入请求消息,更新本地的组播转发表,构造并转发请求响应消息,具体为:The multicast method based on identification resolution route according to claim 16, wherein, according to the modified join request message, the local multicast forwarding table is updated, and the request response message is constructed and forwarded, specifically:
    组播处理节点在本地维护的组播转发表中查询是否包含修改后的加入请求消息中携带的组播标识符;The multicast processing node inquires whether the multicast identifier carried in the modified join request message is included in the locally maintained multicast forwarding table;
    如果组播处理节点在本地的组播转发表中查询到有包含修改后的加入请求消息中携带的组播标识符,则根据修改后的加入请求消息的源网络地址,在本地的路由表中查询并得到转发端口;If the multicast processing node finds the multicast identifier carried in the modified join request message in the local multicast forwarding table, then according to the source network address of the modified join request message, in the local routing table Query and get the forwarding port;
    查找组播转发表中该组播标识符对应的出端口列表中是否包含上述查询得到的转发端口;Find out whether the forwarding port obtained by the above query is included in the outgoing port list corresponding to the multicast identifier in the multicast forwarding table;
    若组播转发表中该组播标识符对应的出端口列表中不包含上述查询得到的转发端口,则在出端口列表中添加该转发端口;If the forwarding port obtained by the above query is not included in the outgoing port list corresponding to the multicast identifier in the multicast forwarding table, the forwarding port is added to the outgoing port list;
    若组播转发表中该组播标识符对应的出端口列表中包含上述查询得到的转发端口,则转至下一步骤:If the outgoing port list corresponding to the multicast identifier in the multicast forwarding table includes the forwarding port obtained by the above query, go to the next step:
    组播处理节点构造请求响应消息及回复请求响应消息,下一个组播处理节点根据转发的请求响应消息,并更新组播转发表,直至转发至组播成员代理;The multicast processing node constructs a request response message and a reply request response message, and the next multicast processing node updates the multicast forwarding table according to the forwarded request response message until it is forwarded to the multicast member agent;
    如果组播处理节点在本地的组播转发表中没有查询到包含修改后的加入请求消息中携带的组播标识符,则反馈异常。If the multicast processing node does not find the multicast identifier carried in the modified join request message in the local multicast forwarding table, it will give an abnormal feedback.
  18. 根据权利要求17所述的基于标识解析路由的组播方法,其特征在于,所述下一个组播处理节点根据转发的请求响应消息,并更新组播转发表,直至转发至组播成员代理;具体为:The multicast method based on identification resolution route according to claim 17, wherein the next multicast processing node updates the multicast forwarding table according to the forwarded request response message until forwarded to the multicast member agent; Specifically:
    下一个组播处理节点接收转发的请求响应消息,并从其中提取组播标识符和目的网络地址,并根据请求响应消息中携带的目的网络地址,在本地维护的路由表中查找到对应的转发端口;The next multicast processing node receives the forwarded request-response message, extracts the multicast identifier and destination network address from it, and finds the corresponding forwarding in the locally maintained routing table according to the destination network address carried in the request-response message port;
    在本地维护的组播转发表中查询是否包含请求响应消息中携带的组播标识符;Query whether the multicast identifier carried in the request response message is included in the locally maintained multicast forwarding table;
    如果下一个组播处理节点在本地的组播转发表中查询到有包含请求响应消息中携带的组播标识符,则获取该组播标识符对应的出端口列表,并进一步判断该出端口列表是否包含该转发端口;If the next multicast processing node finds the multicast identifier carried in the request response message in the local multicast forwarding table, it obtains the list of outgoing ports corresponding to the multicast identifier, and further judges the list of outgoing ports. Whether to include the forwarding port;
    若该出端口列表中有该转发端口,则直接从该转发端口转发该请求响应消息;If there is the forwarding port in the outgoing port list, the request response message is directly forwarded from the forwarding port;
    若该出端口列表中不包含该转发端口,则在该出端口列表中添加该转发端口,并直接从该转发端口转发该请求响应消息;If the forwarding port is not included in the outgoing port list, add the forwarding port in the outgoing port list, and directly forward the request-response message from the forwarding port;
    如果下一个组播处理节点在本地的组播转发表中没有查询到包含请求响应消息中携带的组播标识符,则在组播转发表中添加该组播标识符和上述转发端口,更新组播转发表,并向标识解析服务模块注册该组播标识符和该组播处理节点的IP网络地址之间的映射关系,从而成为该组播服务对应的一个组播处理节点,组播处理节点将请求响应消息从上述转发端口转发,直至转发至组播成员代理。If the next multicast processing node does not find the multicast identifier carried in the request response message in the local multicast forwarding table, it will add the multicast identifier and the above forwarding port in the multicast forwarding table, and update the group broadcast forwarding table, and register the mapping relationship between the multicast identifier and the IP network address of the multicast processing node with the identification resolution service module, so as to become a multicast processing node corresponding to the multicast service, and the multicast processing node The request-response message is forwarded from the above forwarding port until it is forwarded to the multicast member proxy.
  19. 根据权利要求14所述的基于标识解析路由的组播方法,其特征在于,所述步骤3)中,根据本地维护的组播转发表,转发组播数据报文至组播成员代理,其具体过程如下:The multicast method based on identification resolution route according to claim 14, characterized in that, in the step 3), according to the multicast forwarding table maintained locally, the multicast data message is forwarded to the multicast member agent, and the specific The process is as follows:
    组播处理节点收到组播数据报文后,查询本地维护的组播转发表中是否包含 组播数据报文中携带的组播标识符;After receiving the multicast data message, the multicast processing node queries whether the multicast forwarding table maintained locally contains the multicast identifier carried in the multicast data message;
    若本地维护的组播转发表中包含上述组播标识符,则得到该组播数据报文中携带的组播标识符对应的所有出端口,并将组播数据报文从组播转发表中该组播标识符对应的所有出端口复制该组播数据报文,If the multicast forwarding table maintained locally contains the above-mentioned multicast identifier, all outgoing ports corresponding to the multicast identifier carried in the multicast data packet are obtained, and the multicast data packet is removed from the multicast forwarding table. All outgoing ports corresponding to the multicast identifier replicate the multicast data packet,
    若组播转发表不包含上述组播标识符,则进行错误处理,并反馈对应的处理结果。If the multicast forwarding table does not contain the above-mentioned multicast identifier, error processing is performed, and the corresponding processing result is fed back.
  20. 根据权利要求19所述的基于标识解析路由的组播方法,其特征在于,所述错误处理包括:丢弃组播数据报文、向上级组播处理节点反馈错误信息、向其所有邻接的组播处理节点反馈错误信息、更新组播转发表并添加该组播数据报文中携带的组播标识符对应的组播转发表项。The method for multicast routing based on identification resolution according to claim 19, wherein the error handling comprises: discarding multicast data packets, feeding back error information to an upper-level multicast processing node, and sending multicast data to all adjacent multicast nodes. The processing node feeds back error information, updates the multicast forwarding table, and adds a multicast forwarding table entry corresponding to the multicast identifier carried in the multicast data message.
PCT/CN2020/123951 2020-10-23 2020-10-27 Multicast system and multicast method for identifier resolution-based routing WO2022082825A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023548981A JP2023547269A (en) 2020-10-23 2020-10-27 Multicast system and multicast method based on identifier analysis routing

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011144897.7 2020-10-23
CN202011144897 2020-10-23

Publications (1)

Publication Number Publication Date
WO2022082825A1 true WO2022082825A1 (en) 2022-04-28

Family

ID=81291249

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/123951 WO2022082825A1 (en) 2020-10-23 2020-10-27 Multicast system and multicast method for identifier resolution-based routing

Country Status (2)

Country Link
JP (1) JP2023547269A (en)
WO (1) WO2022082825A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101110730A (en) * 2007-06-25 2008-01-23 中兴通讯股份有限公司 Method for implementing Ethernet multicast based on internetwork grouping management agreement
CN101222414A (en) * 2007-01-11 2008-07-16 华为技术有限公司 Device, system and method for implementing multicast communication
CN101237340A (en) * 2008-03-05 2008-08-06 中兴通讯股份有限公司 System and method for realizing multicast channel in multimedia service
CN106209688A (en) * 2016-07-13 2016-12-07 腾讯科技(深圳)有限公司 High in the clouds data multicast methods, devices and systems
CN107770221A (en) * 2016-08-19 2018-03-06 阿里巴巴集团控股有限公司 Transmission method, server conversion equipment, client conversion equipment and the system of data
US10904134B2 (en) * 2017-03-15 2021-01-26 Nicira, Inc. Multicast packet handling in logical networks

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101222414A (en) * 2007-01-11 2008-07-16 华为技术有限公司 Device, system and method for implementing multicast communication
CN101110730A (en) * 2007-06-25 2008-01-23 中兴通讯股份有限公司 Method for implementing Ethernet multicast based on internetwork grouping management agreement
CN101237340A (en) * 2008-03-05 2008-08-06 中兴通讯股份有限公司 System and method for realizing multicast channel in multimedia service
CN106209688A (en) * 2016-07-13 2016-12-07 腾讯科技(深圳)有限公司 High in the clouds data multicast methods, devices and systems
CN107770221A (en) * 2016-08-19 2018-03-06 阿里巴巴集团控股有限公司 Transmission method, server conversion equipment, client conversion equipment and the system of data
US10904134B2 (en) * 2017-03-15 2021-01-26 Nicira, Inc. Multicast packet handling in logical networks

Also Published As

Publication number Publication date
JP2023547269A (en) 2023-11-09

Similar Documents

Publication Publication Date Title
US10476793B2 (en) Multicast flow overlay using registration over a reliable transport
US9143333B2 (en) System and method for multicast transmission
US8185657B2 (en) Data generating device
CN112187644B (en) Multicast system and multicast method based on identification analysis routing
US8443103B2 (en) Method and system for intelligently forwarding multicast packets
US7860094B2 (en) Multicast routing method and apparatus for routing multicast packet
US8054766B2 (en) Method and tool for IP multicast network address translation (MNAT)
US9838303B2 (en) PIM source discovery by last hop router
WO2009024054A1 (en) A method, device and system for realizing the management protocol agent for members in a multicast group
US20030163528A1 (en) Multicasting system and method for providing personalized content
WO2022082825A1 (en) Multicast system and multicast method for identifier resolution-based routing
JP3962343B2 (en) Multicast data communication system and method
Aweya IP Multicast Routing Protocols: Concepts and Designs
JP5575714B2 (en) Multi-point distribution method and multi-point distribution system
KR20090102476A (en) Multicast source node apparatus and multicast method thereof

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2023548981

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 11202302777X

Country of ref document: SG

122 Ep: pct application non-entry in european phase

Ref document number: 20958406

Country of ref document: EP

Kind code of ref document: A1