Identity-oriented multicast identification communication method, data forwarding method and device

By constructing a mapping relationship between identity identifiers and device/location identifiers, and combining network topology information, multicast propagation paths are dynamically constructed, solving the problem of low efficiency in identity-based multicast communication in existing technologies, and realizing efficient and flexible multicast services.

CN122268797APending Publication Date: 2026-06-23BEIJING JIAOTONG UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
BEIJING JIAOTONG UNIV
Filing Date
2026-03-20
Publication Date
2026-06-23

AI Technical Summary

Technical Problem

In existing networks, identity-based multicast communication using IP addresses as the primary identifier is inefficient, especially in scenarios involving frequent device movement and dynamic access, where multicast path maintenance is difficult, leading to low communication efficiency.

Method used

By constructing a mapping relationship between identity identifiers, device identifiers, and location identifiers, the controller dynamically queries terminal devices and their locations, and combines this with network topology information to construct multicast propagation paths. Flow tables are then generated and sent to forwarding nodes, thereby decoupling identity and location and dynamically constructing multicast communication paths.

Benefits of technology

It enables efficient and dynamic construction of multicast communication targeting specific identity attributes without relying on fixed IP addresses, simplifies the maintenance of multicast paths, and improves the flexibility and controllability of multicast services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122268797A_ABST
    Figure CN122268797A_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of internet communication, and discloses an identity communication method and a data forwarding method and device for identity multicast, the identity communication method is applied to a controller and includes the following steps: receiving a query request sent by a first terminal device; in response to the query request, querying a preset mapping relationship according to a target identity, obtaining a second device identifier of a second terminal device matched with the target identity and a second location identifier corresponding to the second device identifier; constructing a multicast propagation path from the first terminal device to each second terminal device according to pre-acquired network topology information and the first location identifier and the second location identifier; generating a flow table according to the multicast propagation path, and issuing the flow table to a forwarding node on the multicast propagation path, so that the forwarding node forwards a data packet sent by the first terminal device according to the flow table, and the present application can efficiently and dynamically construct a multicast communication for a specific identity attribute without relying on a fixed IP address.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of Internet communication technology, specifically to an identity-based multicast identification communication method, data forwarding method, and apparatus. Background Technology

[0002] In applications such as the Industrial Internet, smart manufacturing, intelligent transportation, and the Internet of Things, it is often necessary to simultaneously issue control commands or share data to a group of device terminals with the same identity attributes to achieve efficient communication within a logical group—this is known as identity multicast. Unlike traditional IP address-based multicast, identity multicast focuses on the identity attributes of the communication objects, such as service type and role permissions. However, current networks still use IP addresses as the primary identifier, resulting in a single semantic identifier and tight coupling between identity and location. This makes it difficult to maintain the multicast path for identity-based multicast communication in scenarios with frequent device movement and dynamic access, leading to low efficiency in identity multicast communication. Summary of the Invention

[0003] This invention provides an identification communication method, data forwarding method, and apparatus for identity multicast, in order to solve the problem of low efficiency in identity multicast communication.

[0004] In a first aspect, the present invention provides an identity-oriented multicast identification communication method, applied to a controller, the identity-oriented multicast identification communication method comprising:

[0005] Receive a query request sent by the first terminal device, the query request carrying the target identity identifier; In response to a query request, a preset mapping relationship is queried based on the target identity to obtain the second device identifier of the second terminal device that matches the target identity and its corresponding second location identifier; Based on the pre-acquired network topology information, the first location identifier of the first terminal device, and the second location identifier of the second terminal device, a multicast propagation path is constructed from the first terminal device to each of the second terminal devices; A flow table is generated based on the multicast propagation path, and the flow table is distributed to the forwarding nodes on the multicast propagation path so that the forwarding nodes can forward the data packets sent by the first terminal device according to the flow table.

[0006] This invention provides an identity-based multicast identification communication method. By constructing a mapping relationship between identity identifiers, device identifiers, and location identifiers, the controller can dynamically query matching terminal devices and their current locations based on the target identity identifier. Combined with network topology information, it constructs a multicast propagation path, generates a flow table, and sends it to the forwarding nodes. This achieves decoupling of identity and location, and can efficiently and dynamically construct multicast communication for specific identity attributes without relying on fixed IP addresses. It simplifies the maintenance of multicast paths, improves the flexibility and controllability of multicast services, and effectively solves the problems of missing identity semantics, difficult multicast path maintenance, poor dynamic adaptability, and low efficiency of identity-based multicast communication in existing technologies.

[0007] In one optional implementation, the preset mapping relationship is implemented in the following way: Receive an identity registration message sent by the first terminal device, the identity registration message containing attribute features used to describe the identity information of the first terminal device; Based on the attribute characteristics, generate a first identity identifier and a first device identifier corresponding to the first terminal device; Obtain the location information of the first terminal device accessing the network, and map the location information to a first location identifier; Establish and store the mapping relationship between attribute features, first identity identifier, first device identifier and first location identifier.

[0008] In the above technical solution, by receiving the identity registration message sent by the terminal device, extracting its attribute features and generating corresponding identity identifiers and device identifiers, and at the same time obtaining the location information of the terminal device accessing the network as a location identifier, a mapping relationship between attribute features, identity identifiers, device identifiers and location identifiers is established and stored. This achieves the decoupling and binding of device identity attributes and network location, providing an accurate and scalable identifier mapping foundation for subsequent dynamic queries and multicast communication based on identity identifiers, and solving the problems of missing identity semantics and tight coupling between identifiers and location in the existing technology.

[0009] In one optional implementation, obtaining the location information of the first terminal device accessing the network and mapping the location information to a first location identifier includes: Determine the access switching router to which the first terminal device is connected; Use the network address or interface information of the access switching router as the primary location identifier.

[0010] In the above technical solution, by using the access switching router information connected to the terminal device as a location identifier, the precise location and identification of the device's network location are achieved, providing an accurate location basis for subsequent multicast path construction.

[0011] In one optional implementation, establishing and storing the mapping relationship between attribute features, the first identity identifier, the first device identifier, and the first location identifier includes: Perform hash operations on the attribute features to generate a fixed-length first identity identifier and a first device identifier; The attribute features, first identity identifier, first device identifier and first location identifier are associated to obtain a mapping relationship, which is then stored in the mapping database.

[0012] In the above technical solution, fixed-length identity identifiers and device identifiers are generated by hashing attribute features, and the attribute features are associated with each identifier for storage, thereby achieving the uniqueness, security and resolvability of the identifiers, and providing an accurate and efficient mapping foundation for subsequent dynamic queries and path construction based on identity identifiers.

[0013] In one optional implementation, in response to a query request, a preset mapping relationship is queried based on the target identity to obtain the second device identifier of the second terminal device matching the target identity and its corresponding second location identifier, including: Parse the query request and extract the target identity identifier; Based on the preset mapping relationship, query the second device identifiers of all second terminal devices associated with the target identity identifier, and obtain the location identifiers corresponding to each queried second device identifier as the second location identifiers.

[0014] In the above technical solution, by parsing the target identity identifier in the query request, all terminal devices that match the identity attributes and their current locations are quickly matched based on the preset mapping relationship, thereby achieving accurate location and batch acquisition of multicast group members.

[0015] In one alternative implementation, network topology information is obtained in the following manner: Send link discovery probe messages to forwarding nodes in the target network; Receive and analyze response information from each forwarding node to determine the connection relationships and link costs between each forwarding node in order to construct the network topology; Obtain network topology information from the network topology.

[0016] In the above technical solution, the connection relationships and link costs between network nodes are obtained by actively probing, which provides an accurate global topology basis for the subsequent construction of multicast paths.

[0017] In one optional implementation, constructing a multicast propagation path from the first terminal device to each of the second terminal devices includes: Based on the pre-acquired network topology information, the optimal unicast path from the first location identifier to each second location identifier is calculated using a unicast routing algorithm. The network nodes contained in all the optimal unicast paths are merged, and duplicate network nodes and redundant links are removed to form a multicast distribution tree with the first terminal device as the root node and each second terminal device as the leaf node. Traverse each network node in the multicast distribution tree, determine its forwarding behavior based on the number of child nodes that the network node connects to in the downward direction in the multicast distribution tree, and obtain the multicast propagation path.

[0018] In the above technical solution, the optimal path from the source node to each target node is calculated by reusing the unicast routing algorithm. After merging and deduplication, a multicast distribution tree with the source node as the root and covering all target nodes is formed. The forwarding behavior is determined according to the number of downlink child nodes of each node, which realizes the rapid construction and resource optimization of multicast paths. While ensuring full coverage, link redundancy is avoided, and multicast transmission efficiency is effectively improved.

[0019] In one optional implementation, generating a flow table based on the multicast propagation path includes: Traverse each network node in the multicast distribution tree and determine the type of the network node as a replication node or a forwarding node based on the number of child nodes that the network node is connected to in the downward direction in the multicast distribution tree; wherein, a replication node is a network node with a number of child nodes greater than or equal to a preset number, and a replication node needs to perform a data packet replication operation. Generate action commands for replication nodes that include replication instructions and forwarding to multiple ports, and generate action commands for forwarding nodes that forward to a single port. The matching field of the flow table is set based on the target identity identifier of the multicast service, and the matching field is combined with the corresponding action instruction to generate the flow table.

[0020] In the above technical solution, by traversing the multicast distribution tree, the replication node and the forwarding node are intelligently distinguished according to the number of downlink child nodes of each node. A multi-port forwarding flow table containing replication instructions is generated for the replication node, and a single-port forwarding flow table is generated for the forwarding node. At the same time, the flow table matching field is set based on the target identity, which realizes accurate matching and on-demand replication and forwarding of multicast data packets. Under the premise of ensuring multicast service coverage, the utilization of network resources is effectively optimized and the multicast forwarding efficiency is improved.

[0021] Secondly, the present invention provides a data forwarding method applied to a P4 switch. The data forwarding method uses a flow table and a preset mapping relationship issued by the identity-oriented multicast identification communication method of the first aspect or any corresponding embodiment described above. The data forwarding method includes: Receive data packets and parse the Ethernet header of the data packets; If the type field in the Ethernet header is a preset identity service identifier value, it is determined to be an identity service identifier data packet, and the network layer header is further parsed; The type of data packet is determined by the version field in the network layer header; If the version field is a core network packet identifier value, the data packet is determined to be a core network packet. The location identifier in the data packet is then checked to see if it matches the local flow table. If it matches, the forwarding or copying operation is performed according to the flow table issued by the controller. If it does not match, the decapsulation and forwarding to the access switching router or the default forwarding process is performed based on whether the second location identifier points to the access switching router and whether there is a decapsulation flow table entry. If the version field is an access network packet identifier value, the data packet is determined to be an access network packet, and the data packet is classified and forwarded according to the preset mapping relationship and flow table issued by the controller.

[0022] This invention provides a data forwarding method that parses data packets in a P4 switch and distinguishes between core network and access network packet types based on the version field. For core network packets, it performs forwarding or copying operations by matching the location identifier. If there is no match, it performs decapsulation or default forwarding based on the location identifier pointing to the decapsulation flow table entry. For access network packets, it classifies and processes them according to the mapping relationship and flow table issued by the controller. This achieves coordination between the data plane and the controller policy, and can accurately identify and process identity service identifier data packets, improving forwarding efficiency and flexibility while ensuring multicast service coverage.

[0023] In one optional implementation, performing forwarding or replication operations according to the flow table issued by the controller includes: If the current network node is a replication node, the data packet is copied into multiple copies according to the replication instructions in the flow table, and forwarded to the next-hop network node from the corresponding multiple ports.

[0024] In the above technical solution, by replicating data packets multiple times and forwarding them to multiple ports through replication nodes, efficient distribution of multicast data is achieved, avoiding the occupation of network resources by redundant transmission.

[0025] In one optional implementation, data packets are classified and forwarded according to a preset mapping relationship and flow table issued by the controller, including: The access network packet is determined as either a control packet or a data packet based on the next header field in the network layer header; If it is a control message, it is determined whether it is a request message or a response message based on the control message type field; if it is a request message, it is uploaded to the controller; if it is a response message, it is forwarded to the second terminal device based on the second device identifier. If it is a data message, extract the destination identifier and determine whether the destination identifier belongs to the terminal device under the jurisdiction of this access network; the destination identifier is the target identity identifier or the second device identifier; If it does, the data packet will be forwarded directly to the corresponding second terminal device; If it does not belong to the mapping relationship, the local mapping relationship is queried; if a mapping relationship exists, the core network header is encapsulated according to the mapping relationship and forwarded to the core network; if no mapping relationship exists, the data packet is sent to the controller.

[0026] In the above technical solution, by performing type identification and classification processing on access network packets in the P4 switch, control request packets are uploaded to the controller to trigger path decision, control response packets are directly forwarded to the target terminal, and data packets are processed according to whether the destination identifier belongs to the local network, such as direct forwarding, encapsulation for cross-network forwarding, or reporting to the controller. This achieves efficient collaboration between the data plane and the controller, ensuring accurate delivery of multicast services while improving forwarding efficiency and flexibility of cross-network transmission.

[0027] In one optional implementation, the data forwarding method further includes: The system receives network announcement messages from the controller and forwards them to the corresponding second terminal devices. The network announcement messages carry the target identity identifier and are used to notify the second terminal devices to join the corresponding multicast group.

[0028] In the above technical solution, terminal devices are dynamically notified to join the multicast group by sending network announcement messages, which realizes flexible configuration and management of multicast group members.

[0029] Thirdly, the present invention provides an identity-oriented multicast identification communication device applied to a controller, the device comprising: The query receiving module is used to receive query requests sent by the first terminal device, and the query requests carry the target identity identifier. The mapping query module is used to respond to a query request, query a preset mapping relationship based on the target identity identifier, and obtain the second device identifier of the second terminal device that matches the target identity identifier and its corresponding second location identifier; The path construction module is used to construct a multicast propagation path from the first terminal device to each of the second terminal devices based on the pre-acquired network topology information, the first location identifier of the first terminal device, and the second location identifier of the second terminal device. The flow table generation module is used to generate flow tables based on the multicast propagation path; The flow table distribution module is used to distribute flow tables to forwarding nodes on the multicast propagation path, so that the forwarding nodes can forward data packets sent by the first terminal device according to the flow table.

[0030] Fourthly, the present invention provides a data forwarding device applied to a P4 switch. The data forwarding device uses the flow table and preset mapping relationship issued by the identity-oriented multicast identification communication method of the first aspect or any corresponding embodiment described above. The data forwarding device includes: The message receiving and parsing module is used to receive data packets and parse the Ethernet header of the data packets; The identity service determination module is used to determine that if the type field in the Ethernet header is a preset identity service identifier value, it is an identity service identifier data packet, and further parses the network layer header; The message type determination module is used to determine the type of data message based on the version field in the network layer header. The core network processing module is used to determine that the data packet is a core network packet if the version field is a core network packet identifier value, and to determine whether the location identifier in the data packet matches the local flow table. If they match, the module performs forwarding or copying operations according to the flow table issued by the controller. If they do not match, the module performs decapsulation and forwarding to the access switching router or performs default forwarding processing based on whether the second location identifier points to the access switching router and whether there is a decapsulation flow table entry. The access network processing module is used to determine that a data packet is an access network packet if the version field is an access network packet identifier value, and to classify, process and forward the data packet according to the preset mapping relationship and flow table issued by the controller.

[0031] Fifthly, the present invention provides an electronic device comprising: a memory and a processor, the memory and the processor being communicatively connected to each other, the memory storing computer instructions, and the processor executing the computer instructions to perform the identity-oriented multicast identification communication method of the first aspect or any corresponding embodiment thereof, and the data forwarding method of the second aspect or any corresponding embodiment thereof.

[0032] In a sixth aspect, the present invention provides a computer-readable storage medium storing computer instructions for causing a computer to execute the identity-oriented multicast identification communication method of the first aspect or any corresponding embodiment thereof, and the data forwarding method of the second aspect or any corresponding embodiment thereof.

[0033] In a seventh aspect, the present invention provides a computer program product, including computer instructions for causing a computer to execute the identity-oriented multicast identification communication method of the first aspect or any corresponding embodiment thereof, and the data forwarding method of the second aspect or any corresponding embodiment thereof. Attached Figure Description

[0034] To more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.

[0035] Figure 1 This is a schematic diagram of an application scenario according to an embodiment of the present invention; Figure 2 This is a schematic diagram of the first type of identification communication method for identity-oriented multicast according to an embodiment of the present invention; Figure 3 This is a schematic diagram of a second process for an identity-oriented multicast identification communication method according to an embodiment of the present invention; Figure 4 This is a flowchart illustrating a data forwarding method according to an embodiment of the present invention; Figure 5 This is a schematic diagram of the DID (Device ID) / IID (Identity ID) format according to an embodiment of the present invention; Figure 6 This is a flowchart of the data plane data packet processing logic according to an embodiment of the present invention; Figure 7 This is a schematic diagram of the IID-DID mapping construction process according to an embodiment of the present invention; Figure 8 This is a schematic diagram of a multicast routing network topology according to an embodiment of the present invention; Figure 9 This is a schematic diagram of the mapping query process according to an embodiment of the present invention; Figure 10 This is a flowchart illustrating a data forwarding method according to an embodiment of the present invention; Figure 11 This is a structural block diagram of an identity-oriented multicast identification communication device according to an embodiment of the present invention; Figure 12 This is a structural block diagram of a data forwarding device according to an embodiment of the present invention; Figure 13 This is a schematic diagram of the hardware structure of an electronic device according to an embodiment of the present invention. Detailed Implementation

[0036] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0037] It is understood that before using the technical solutions disclosed in the various embodiments of the present invention, users should be informed of the types, scope of use, and usage scenarios of the personal information involved in the present invention and their authorization should be obtained in accordance with relevant laws and regulations through appropriate means.

[0038] The terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of this invention, "a plurality of" means two or more, unless otherwise explicitly specified.

[0039] As an optional application scenario of this invention, such as Figure 1 The diagram shown is a schematic of an identity-oriented multicast identification communication system provided by the present invention. The system includes a control plane and a data plane that communicate with each other. An SDN controller and an identification mapping database are set in the control plane, and a core network P4 switch, an access network P4 switch and terminal equipment are set in the data plane.

[0040] in: The SDN controller is the core of the control plane. The ONOS platform is deployed on the SDN controller to run the mapping management application, the routing decision application, and the topology discovery application.

[0041] The identifier mapping database is used to store the mapping relationship between IID (Identity ID) - DID (Device ID) - PID (Position ID), the association between attribute characteristics and identifiers.

[0042] The core network P4 switch is a core network forwarding node. It performs forwarding / copying operations based on the flow table matching of the location identifier (PID).

[0043] The access network P4 switch is an access network boundary node that processes packets based on device identifier (DID) / identity identifier (IID), controls packet uploading / forwarding, and encapsulates / decapsulates / forwards data packets.

[0044] The terminal devices are communication nodes, divided into a first terminal device (i.e., the source device) and a second terminal device (the target device). The first terminal device, as the source device, initiates a query request carrying the target's identity identifier and sends multicast data packets. The second terminal device, as the target device, receives multicast data packets and joins the corresponding multicast group according to the network announcement issued by the controller.

[0045] Specifically, the data plane is primarily responsible for receiving, parsing, and processing data packets to provide identity-based multicast services. Relying on P4 programmable switches, the data plane uses flow tables issued by the control plane to achieve flexible data packet processing and dynamic forwarding. The data plane architecture consists of an access network and a core network. The access network primarily uses Identity ID (IID) for addressing, while the core network uses Position ID (PID) for efficient data packet routing and forwarding.

[0046] In identity multicast application scenarios, the system involves three core identifiers: Device Identifier (DID), Identity Identifier (IID), and Location Identifier (PID), each with a fixed length of 128 bits. The Device Identifier (DID) is primarily used to uniquely identify communication-capable device nodes in the network, such as terminals, network interfaces, and storage devices. It remains unchanged despite device movement, ensuring the long-term stability and reliability of communication. Similar to a MAC address, but unlike a MAC address, the Device Identifier (DID) can be used as a network layer identifier for addressing, providing underlying support for identity-specific communication services. The Identity Identifier (IID) indicates a specific type of identity, such as a drone identity or an autonomous vehicle identity, representing the communication service requirements for a specific network identity. The Location Identifier (PID) can be set to a traditional IPv6 address, ensuring compatibility with existing networks.

[0047] Device identifiers (DIDs) and identity identifiers (IIDs) share characteristics such as being flat and fixed-length. For example... Figure 5 The diagram shows the structure of the Device Identifier (DID) / Identity Identifier (IID), which consists of 128 bits and is divided into three parts: 1) The identifier prefix consists of 24 bits and is reserved as the device identifier DID / identity identifier IID. It is fixed at "2004:00" and originates from unassigned addresses in IPv6.

[0048] 2) The identifier type bit consists of 4 bits, which is mainly used to distinguish whether the identifier is a device identifier (DID) or an identity identifier (IID). In this embodiment, the device identifier (DID) and the identity identifier (IID) are set to use hexadecimal codes "1" and "6" as identifier type bits, respectively.

[0049] 3) The semantic field of the identifier consists of 100 bits. A one-way hash operation is performed based on the device attribute features (AF) to generate a flat identifier. This approach effectively enhances the security and uniqueness of the identifier. Simultaneously, the fixed-length design ensures efficient identifier parsing and simplifies storage management. For the device identifier (DID), the attribute features (AF) upon which its generation is based may cover relatively static attributes of the device, such as physical address, device type, device brand, and device model. For the identity identifier (IID), the attribute features (AF) upon which its generation is based may cover dimensions such as the cluster to which the object belongs, the organization to which it belongs, and the assigned task.

[0050] According to an embodiment of the present invention, an identity-oriented multicast identification communication method embodiment is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.

[0051] This embodiment provides an identity-oriented multicast identification communication method, which can be used in the controller of the aforementioned identity-oriented multicast identification communication system. The controller in this embodiment adopts an SDN controller (Software Defined Networking Controller, which is the core control unit in the software-defined network architecture and is responsible for centralized management and control of the forwarding behavior of the entire network). Figure 2 This is a flowchart of an identity-oriented multicast identification communication method according to an embodiment of the present invention, such as... Figure 2 As shown, the process includes the following steps: Step S201: Receive a query request sent by the first terminal device, the query request carrying the target identity identifier.

[0052] In this process, the first terminal device acts as the source device and sends a query request to the controller. This request carries a target identity identifier and is used to query the information of the second terminal device that matches the identity attribute, so as to initiate multicast communication in the future.

[0053] Furthermore, the target identity identifier is the identity identifier carried by the first terminal device when initiating a query, used to find and match the second terminal device group in the preset mapping relationship.

[0054] Step S202: In response to the query request, query the preset mapping relationship according to the target identity identifier to obtain the second device identifier of the second terminal device that matches the target identity identifier and its corresponding second location identifier.

[0055] Among them, the preset mapping relationship is a core data table pre-established by the controller to associate device identity attributes with network location, specifically including: Composition: A data set that stores attribute features, first identity identifier (first IID), first device identifier (first DID), and first location identifier (first PID) in a mutually related manner.

[0056] Establishment method: By receiving the identity registration message sent by the first terminal device, extracting its attribute features, generating the corresponding identity identifier IID and device identifier DID, and obtaining the device's network access location information as the location identifier PID, and finally associating and storing the four in the mapping database.

[0057] Specifically, in response to a query request, the controller parses and extracts the target identity identifier, finds the device identifiers of all second terminal devices associated with the target identity identifier based on a preset mapping relationship, and obtains the current location identifier corresponding to each second device identifier as the second location identifier.

[0058] Step S203: Based on the pre-acquired network topology information, the first location identifier of the first terminal device, and the second location identifier of the second terminal device, construct a multicast propagation path from the first terminal device to each of the second terminal devices.

[0059] Among them, network topology information is network structure data about the connection relationships and link costs between forwarding nodes, which is obtained by the controller by sending probe messages to forwarding nodes and analyzing the responses.

[0060] The multicast propagation path is a forwarding path calculated by the controller based on the location of the source device (first terminal device), the location of the target device (second terminal device), and the network topology, used to efficiently transmit multicast data from the source device to all target devices (second terminal devices).

[0061] Specifically, based on the network topology information, the controller calculates the optimal unicast path with the first location identifier of the first terminal device as the source point and the second location identifier of each second terminal device as the target point. After merging and deduplicating the network nodes in each path, a multicast distribution tree is formed with the first terminal device as the root node and each second terminal device as the leaf node. The controller then determines the forwarding behavior of each node based on the number of downlink child nodes, thereby constructing a complete multicast propagation path.

[0062] Step S204: Generate a flow table based on the multicast propagation path and distribute the flow table to the forwarding nodes on the multicast propagation path so that the forwarding nodes forward the data packets sent by the first terminal device according to the flow table.

[0063] Among them, the flow table is a forwarding table entry generated by the controller based on the multicast propagation path, which contains matching fields and corresponding action instructions, and is used to guide forwarding nodes to perform matching and forwarding operations on data packets.

[0064] Forwarding nodes are data plane devices in the network responsible for matching, forwarding, copying, or decapsulating data packets according to the flow table issued by the controller. They include core network P4 switches and access network P4 switches.

[0065] The controller generates a flow table based on the constructed multicast propagation path. The flow table contains matching fields set based on the target identity and action instructions for different node types. The replication node is configured with replication and multi-port forwarding instructions, and the forwarding node is configured with single-port forwarding instructions. The controller then distributes the flow table to each forwarding node on the multicast propagation path, enabling the forwarding nodes to perform matching, replication, or forwarding operations on the data packets sent by the first terminal device according to the flow table, thereby achieving efficient transmission of multicast data.

[0066] The identity-based multicast identification communication method provided in this embodiment constructs a multicast identification mechanism centered on the identity identifier (IID). Through a device / identity / location identification network architecture, it decouples terminal identity from network location. Combined with a software-defined network control mechanism, it achieves dynamic identification of multicast members, adaptive path construction, and fine-grained control of forwarding nodes for specific identity groups. This method not only supports flexible grouping based on terminal identity attributes but also has an extensible control interface. It can provide efficient and dynamically controllable identity multicast communication services without relying on traditional IP addresses or static configurations, meeting the urgent need for intelligent multicast capabilities in multi-scenario access network environments.

[0067] This embodiment provides an identity-oriented multicast identification communication method, which can be used in the controller of the aforementioned identity-oriented multicast identification communication system. Figure 3 This is a flowchart of an identity-oriented multicast identification communication method according to an embodiment of the present invention, such as... Figure 3 As shown, the process includes the following steps: Step S301: Receive a query request sent by the first terminal device, the query request carrying the target identity identifier. For details, please refer to [link to relevant documentation]. Figure 2 Step S201 of the illustrated embodiment will not be described again here.

[0068] Step S302: In response to the query request, query the preset mapping relationship according to the target identity identifier to obtain the second device identifier of the second terminal device that matches the target identity identifier and its corresponding second location identifier.

[0069] Specifically, the diagram illustrating the IID-DID mapping construction process is as follows: Figure 7As shown, the preset mapping relationship is implemented in the following way: The system receives an identity registration message sent by a first terminal device, the identity registration message containing attribute features describing the identity information of the first terminal device; generates a first identity identifier and a first device identifier corresponding to the first terminal device based on the attribute features; obtains the location information of the first terminal device accessing the network and maps the location information to a first location identifier; and establishes and stores the mapping relationship between the attribute features, the first identity identifier, the first device identifier and the first location identifier.

[0070] Specifically, mapping management is the foundation of the control plane, primarily responsible for the storage, parsing, distribution, and dynamic maintenance of identification information, and is the cornerstone of identity-specific multicast. The design of mapping management aims to ensure that the system can efficiently manage identity data, achieve accurate mapping between attribute characteristics and network resources, and thus support efficient communication services for specific identities. In terms of storage strategy, a vertical table partitioning design based on attribute characteristics is implemented to improve query performance; a master-slave node synchronization mechanism is adopted to ensure data consistency; and read-write separation technology is introduced to optimize concurrent access, thereby building a highly available identification management system. Through the mapping management module, not only can identification registration and querying be realized, but also the storage and maintenance of mapping relationships can be performed.

[0071] In multicast service scenarios, the mapping relationship between IID and DID is used to bind multicast identity groups to specific device identities, enabling dynamic allocation of service resources and rapid response to identity service requests. IID is typically used to identify a specific identity group service, while DID is used to uniquely identify device nodes in the network. For example... Figure 7 As shown, the construction of the mapping relationship relies on the relevant attributes in the attribute features (AF), and the mapping server binds the registration information of communication requirements and device identity information.

[0072] In this embodiment, the attribute feature AF is used to describe the identity information of the terminal device, such as device type, affiliated unit, task number, role permissions and other dimension information, and is the basis for generating the identity identifier IID and device identifier DID.

[0073] In one optional implementation, obtaining the location information of the first terminal device accessing the network and mapping the location information to a first location identifier includes: determining the access switching router to which the first terminal device is connected; and using the network address or interface information of the access switching router as the first location identifier.

[0074] Specifically, the controller identifies the access switching router to which the first terminal device is connected and maps its network address or interface information to a first location identifier, thereby completing the location and identification of the terminal device's network location.

[0075] In one optional implementation, establishing and storing the mapping relationship between attribute features, first identity identifier, first device identifier and first location identifier includes: performing a hash operation on the attribute features to generate a fixed-length first identity identifier and first device identifier; associating the attribute features, first identity identifier, first device identifier and first location identifier to obtain a mapping relationship, and storing it in a mapping database.

[0076] The controller performs a hash operation on the attribute features reported by the terminal device during registration to generate a fixed-length (e.g., 128-bit) first identity identifier and first device identifier. It then associates and stores the attribute features, first identity identifier, first device identifier, and first location identifier in a mapping database to form a preset mapping relationship for subsequent querying and forwarding.

[0077] Furthermore, in identity-oriented communication, to establish an effective communication link, the system needs to clearly define the address information of both communicating parties, namely the source address and the destination address. Therefore, designing a robust addressing mechanism is crucial for object identity multicast services. The core of this addressing mechanism is based on the mapping and resolution function in the identity network, enabling the source node to dynamically query the target device's device identifier (DID) using a specific identity identifier (IID), forming a one-to-one or one-to-many mapping from identity identifier (IID) to device identifier (DID), thereby completing the construction of subsequent communication paths. For example, in... Figure 7 In this context, if a user wants to communicate with all drone devices in Department A, this specific service requirement can be described using IID1. The corresponding addressing process is completed through the mapping relationship between IID-AF (identity identifier - attribute feature) and DID-AF (device identifier - attribute feature), forming a one-to-one or one-to-many mapping between IID and DID to accurately locate the target device group.

[0078] Specifically, the addressing process for object identity multicast service can be divided into three parts: service requirement description, target object query, and communication message construction. First, the terminal device constructs an identity service registration message based on specific communication requirements. This message describes the target communication device's identity information, such as its department, device type, and task number, using the attribute feature field (AF). The registration message generates an IID through the system control plane application and establishes a mapping relationship with the target device's AF. Then, the terminal constructs a query message containing the IID information based on the communication requirement. The controller parses the query requirement and matches it against its stored device registration information, constructing an IID-DID mapping relationship. This quickly filters out matching device objects and returns the results to the terminal device as a DID list, completing the addressing process for object-specific identity multicast.

[0079] Step S302 above includes: Step S3021: Parse the query request and extract the target identity identifier.

[0080] Specifically, after receiving a query request from the first terminal device, the controller first parses the request message and extracts the target identity identifier (IID) that the first terminal device expects to communicate from the application layer or network layer fields of the message. This identifier is the core basis for subsequent matching of the target device.

[0081] Step S3022: Based on the preset mapping relationship, query the second device identifiers of all second terminal devices associated with the target identity identifier, and obtain the location identifiers corresponding to each queried second device identifier as the second location identifiers.

[0082] Specifically, based on the extracted target identity identifier, the controller retrieves the device identifiers (DIDs) of all second terminal devices associated with the identifier in a preset mapping database, and further obtains the current location identifier (PID) corresponding to each second device identifier, ultimately obtaining a complete set of information containing the target device identifier and its network location.

[0083] Step S303: Based on the pre-acquired network topology information, the first location identifier of the first terminal device, and the second location identifier of the second terminal device, construct a multicast propagation path from the first terminal device to each of the second terminal devices.

[0084] In one alternative implementation, network topology information is obtained in the following manner: Send link discovery probe messages to forwarding nodes in the target network; receive and analyze response information from each forwarding node to determine the connection relationship and link cost between each forwarding node in order to construct the network topology; and obtain network topology information from the network topology.

[0085] Specifically, the controller actively sends link discovery probe messages to the forwarding nodes in the network and receives and analyzes the response information returned by each node to determine the connection relationship and link cost between the forwarding nodes, thereby constructing a complete network topology and obtaining network topology information for subsequent path calculation.

[0086] In step S303, in the identity service multicast scenario, the routing control module needs to support data transmission from the source node to multiple destination nodes. Based on actual business requirements, each identity service needs to generate a specific IID to represent the communication intent for a specific identity object. The controller maintains the mapping relationship between IIDs and DIDs, establishes a mapping table for a specific set of identities, and implements IID-based multicast addressing and forwarding strategies based on this table. To save network resources, this embodiment proposes to construct a multicast distribution tree to ensure that data packets are replicated at necessary nodes, thus implementing a multicast-oriented routing design.

[0087] Step S303 above includes: Step S3031: Based on the pre-acquired network topology information, calculate the optimal unicast path from the first location identifier to each second location identifier using a unicast routing algorithm; merge the network nodes contained in all optimal unicast paths, and remove duplicate network nodes and redundant links to form a multicast distribution tree with the first terminal device as the root node and each second terminal device as the leaf node.

[0088] Specifically, in such Figure 8 In the network topology shown, source node device A (first terminal device) needs to communicate with destination node devices B, C, and D (second terminal devices) through routing devices 1 to 6. The numbers on the lines indicate the cost of that link. This embodiment uses this topology as an example to introduce the decision-making concept of multicast routing.

[0089] First, the minimum cost path from the source node to each target node is calculated according to the unicast routing algorithm. Then, all intermediate nodes in the involved path are added to the multicast tree, duplicate nodes and redundant links in the path are removed, and the multicast tree structure is optimized, thereby completing the construction of a multicast tree covering the source node and all target nodes. The whole process is shown in Table 1 below.

[0090] Table 1 Multicast Tree Construction

[0091] Step S3032: Traverse each network node in the multicast distribution tree, determine its forwarding behavior based on the number of child nodes that the network node connects to in the downward direction in the multicast distribution tree, and obtain the multicast propagation path.

[0092] Specifically, after the multicast tree is constructed, the system traverses and analyzes the connection relationships of each node in the tree. Based on the mapping information issued by the controller, it counts the number of effective downlinks for each node. If a node has more than or equal to 2 effective downlinks, it is considered a replica node. The replica node needs to perform a branch replication operation after receiving data packets and, according to the forwarding rules configured in the flow table, send the replicated data to its corresponding ports. This achieves efficient multi-target multicast data transmission, avoids wasting link resources, and improves overall network utilization and scalability.

[0093] Step S304: Generate a flow table based on the multicast propagation path and distribute the flow table to the forwarding nodes on the multicast propagation path so that the forwarding nodes forward the data packets sent by the first terminal device according to the flow table.

[0094] Specifically, step S304 includes: Step S3041: Traverse each network node in the multicast distribution tree and determine the type of the network node as a replication node or a forwarding node based on the number of child nodes that the network node connects to in the downward direction in the multicast distribution tree; wherein, a replication node is a network node with a number of child nodes greater than or equal to a preset number, and a replication node needs to perform a data packet replication operation.

[0095] Specifically, the controller traverses each network node in the multicast distribution tree and determines its type as a replication node or a forwarding node based on the number of child nodes that the node is connected to in the downward direction. Among them, nodes with a number of child nodes greater than or equal to a preset number are determined to be replication nodes and need to perform packet replication operations in subsequent forwarding.

[0096] Step S3042: Generate an action command for the replication node that includes replication instructions and multiple port forwarding instructions, and generate an action command for the forwarding node that forwards to a single port.

[0097] Specifically, the controller generates action instructions that include replication commands and multi-port forwarding for network nodes identified as replication nodes, and generates action instructions that forward to a single port only for forwarding nodes, so as to clarify the specific behavior of each node in multicast forwarding.

[0098] Step S3043: Set the matching field of the flow table based on the target identity identifier of the multicast service, and combine the matching field with the corresponding action instruction to generate the flow table.

[0099] Specifically, the controller sets the matching field of the flow table based on the target identity of the multicast service, and combines the matching field with the action command of the corresponding node type to generate a complete flow table entry, which is used to guide the forwarding nodes to match and process data packets.

[0100] For example, the complete routing process for multicast is as follows: The first step is network initialization, where relevant devices register and data plane forwarding devices report port information. The control plane SDN controller establishes mapping tables from identity identifier (IID) to device identifier (DID) and from device identifier (DID) to port number, and distributes these tables to relevant switches. Simultaneously, using its own device identifier (DID) as the source address and the target device's device identifier (DID) as the destination address, it sends network advertisement messages with the IID as the message payload to the destination node.

[0101] Then, based on the source and destination node information and the overall network topology, the control plane constructs a multicast tree to determine the replication nodes and valid downlinks for each path. The controller generates the corresponding forwarding flow table and distributes it to the data plane forwarding devices. Replication nodes match the data packets according to the corresponding flow table to perform replication and forwarding operations, while other nodes directly perform forwarding operations.

[0102] When a target communication node receives a network announcement message, it stores the IID (Identity ID) locally, indicating that the device is in the multicast group for that IID. Upon receiving a data packet, the terminal device parses the packet and determines whether the destination IID exists in the locally stored IID list. If it does, the terminal device receives and processes the packet; otherwise, it discards the packet, ensuring that the target device receives the relevant packets, while non-target devices do not.

[0103] This embodiment provides an identity-based multicast identification communication method. The control plane uses a mapping management module to store, parse, distribute, and dynamically maintain identification information. This module supports the construction of mapping relationships between IIDs and DIDs, providing precise binding of identities to devices for multicast services. The mapping management employs a vertical table partitioning design, master-slave node synchronization, and read-write separation technology, improving query performance and data consistency. The control plane uses an SDN controller to dynamically construct and control the multicast path, including the construction process of the multicast tree, the determination of replication nodes, and the distribution of forwarding rules. Constructing a multicast distribution tree based on a unicast routing algorithm offers significant advantages in terms of simplicity and lightweight implementation, ensuring the replication and efficient transmission of data packets at necessary nodes. This mechanism supports multicast services for specific identity groups, improving the utilization of network resources.

[0104] As one or more specific application embodiments of the present invention, combined with Figure 9 and Figure 10 The identity-oriented multicast identification communication method provided by the present invention will be further described in detail. The premise of this embodiment is that all connected devices in the network have completed the device registration process and have successfully obtained their own unique device identifier (DID). The following will focus on the specific implementation methods of mapping query and communication process.

[0105] 1) Mapping query: In the network, based on actual communication intent or needs, registered terminal devices can initiate a query request for the target device identifier to the SDN controller by inputting their identity identifier (IID). The control plane, through interaction with the mapping server, obtains relevant mapping information from the storage nodes, constructs a mapping based on IID to DID, and returns the matching DID and its corresponding location identifier (PID). The controller calculates the optimal path based on the communication nodes and network topology, and dynamically distributes flow tables to the data plane switching devices to guide packet forwarding. The specific mapping query process is as follows: Figure 9 As shown, it includes: ① The terminal initiates a query request for target device node information based on the communication intent and identity identifier (IID). The request is sent from the communication source node and transmitted to the SDN controller via the access switching router.

[0106] ② The controller parses the query request message, sends it to the mapping server, and queries the mapping server's storage unit for device node information that meets the conditions. It then constructs a query response message and sends it to the access switching router.

[0107] ③ The controller, by combining the queried mapping entries with its own network topology, generates the current optimal communication path through a routing algorithm. Referring to step S302, it sends the path to the data plane switching device through a dynamic flow table and sends a network announcement message to the target device via DID unicast, with the IID of the target device in the load carrying the target device's multicast group IID.

[0108] ④ The terminal receives the query response message sent by the control plane and completes the mapping query process.

[0109] 2) Communication process: For details on the identity service communication process, please refer to [link / reference]. Figure 10 As shown.

[0110] In the initial phase, the Software Defined Networking Controller (SDN) performs sensing operations on the communication nodes in the network (including source and destination nodes), accurately acquiring and properly storing the attribute and identification information of each node. Subsequently, based on the sensed data, the controller sends the relevant mapping information to the data plane forwarding devices, thereby completing the network initialization configuration.

[0111] During communication, the controller receives the information uploaded after parsing the data plane message and performs type determination. Specifically, it first determines whether the message belongs to the Identity Service Identification Data type. If the determination result is yes (i.e., the next header is not 0xB4), it further determines whether the message is an Identity Multicast message (destination address is IID) or an Identity Unicast message (destination address is DID), and then processes the message according to the multicast processing procedure and unicast processing procedure respectively; if the message is determined not to belong to the Identity Service Identification Data type, the controller does not perform any processing operation on it.

[0112] The unicast processing flow includes: For unicast messages (addressed using DID), the controller calculates the optimal transmission path for the message based on Dijkstra's algorithm and generates a corresponding flow table, which is then sent to the data plane to ensure accurate message forwarding. For multicast messages (addressed using IID), the controller uses unicast routing principles to generate the optimal path from the source node to each communication node, thereby constructing a multicast tree (see step S302). During multicast tree construction, the controller determines the node type in the multicast tree path. If the node is a replication node, the controller sends a message flow table containing replication and forwarding functions; if the node is a non-replication node, it directly sends a message flow table with only forwarding functions. Furthermore, the controller sends a network advertisement message to the target device, informing it that it is in the multicast group corresponding to the IID, so that the target device can subsequently parse and receive multicast data packets smoothly, thereby ensuring the efficient and stable operation of identity service multicast communication.

[0113] The identity-oriented multicast identification communication method provided in this embodiment has at least the following beneficial effects: 1) Multicast identification mechanism supporting identity semantics: Compared to traditional IP address-based multicast mechanisms, the multicast identification mechanism proposed in this embodiment can express the identity attributes of communication objects, such as service type and role permissions, thus realizing identity-based multicast services. This mechanism not only improves the flexibility of multicast but also enhances the controllability of multicast services.

[0114] 2) Addressing methods that decouple identity from location: The identification system decouples identity from location, ensuring that changes in a device's location within the network do not affect the validity of its identification. This addressing method significantly simplifies the maintenance and management of multicast paths, enhancing the dynamism and adaptability of multicast services.

[0115] 3) Combine SDN control to achieve dynamic construction and forwarding control of multicast paths: This embodiment combines the global awareness capability of an SDN controller with the flexible processing capability of a programmable switch to achieve dynamic construction and forwarding control of multicast paths. This mechanism can adjust multicast paths in real time according to changes in network topology and service requirements, ensuring the efficiency and reliability of multicast services.

[0116] 4) No modification to the existing network protocol stack is required, offering relatively flexible deployment capabilities: Compared to technologies that require modification of the protocol stack or the introduction of dedicated servers, this embodiment does not require modification of the existing network protocol stack, reducing deployment costs and complexity. Furthermore, the lightweight deployment method of this embodiment allows the system to flexibly adapt to various network environments, improving system compatibility and scalability.

[0117] This embodiment also provides a data forwarding method, which can be used in the P4 switch of the aforementioned identity-oriented multicast identification communication system. The data forwarding method uses the flow table and preset mapping relationship issued by the identity-oriented multicast identification communication method. Figure 4 This is a flowchart of a data forwarding method according to an embodiment of the present invention, such as... Figure 4 As shown, the process includes the following steps: Step S401: Receive data packets and parse the Ethernet header of the data packets; if the type field in the Ethernet header is a preset identity service identifier value, it is determined to be an identity service identifier data packet, and further parse the network layer header, and determine the type of the data packet according to the version field in the network layer header.

[0118] Specifically, in multicast communication scenarios, data packets involving identification types can be clearly divided into two categories: data packets and control packets. Data packets are divided into core network packets and access network packets (including data packets and control packets).

[0119] The network layer format of data packets is shown in Table 2 below. This type of packet is further subdivided into access network data packets and core network data packets. Access network data packets are addressed based on DID / IID, while core network data packets encapsulate a core network header outside the access network data packets and are addressed based on PID. The main function of data packets is to carry the information payload between the communicating parties. The application layer format of control packets is shown in Table 3 below. This type of packet includes registration / query request packets and their corresponding response packets, mainly undertaking the communication interaction tasks between the terminal and the controller.

[0120] Table 2 Network Layer Format of Data Messages

[0121] In Table 2, rows 1 to 4 are the core network header. The core network data packet format is as follows: The network layer header contains IPv6 compatible fields such as version, transport type, flow number, payload length, next header, and time to live. This is followed by a 128-bit source location identifier and a 128-bit destination location identifier, which are used for core network routing and forwarding based on the location identifier (PID).

[0122] In Table 2, rows 5 to 8 are the access network header. The access network data packet format includes the same network layer header fields as the version, transport type, flow label, payload length, next header, and time to live (TTL). This is followed by 128-bit source device / identity identifiers and 128-bit destination device / identity identifiers, used for addressing and forwarding by the access network based on device identifier (DID) or identity identifier (IID). The payload portion of both packet formats is located after the network layer header.

[0123] Table 3 Application Layer Format of Control Messages

[0124] In Table 3, the first row and first column of the Transaction ID header are used to identify a control interaction transaction. Requests and responses use the same Transaction ID for matching. The second row and second column of the Checksum header are used for message integrity verification.

[0125] The second row and first column of the control message type header are used to identify the message type, such as: request message (e.g., 0x64) and response message (e.g., 0xC8); the second row and second column of the subtype header further subdivides the control message type, such as registration request and query request; the third row of the status code and reserved fields header contains status codes (e.g., success, failure, error codes) in response messages and can be reserved fields in request messages.

[0126] The main information is the data message body, which carries specific control information content, such as: attribute characteristics AF in registration messages, target identity identifiers in query messages, and device identifier lists in response messages.

[0127] When a data packet arrives at the P4 switch, it is first parsed by the P4's parser to extract key identification information and determine the packet type. The system first checks the type field in the Ethernet header to determine if the packet is an Identity Service Identifier (ISI) packet. If it is (value 0x1234), the next layer header (network layer header) is parsed; otherwise, the packet is not processed. For ISI packets, it checks if the packet is a core network packet (i.e., if the version field is 0xA). If so, the core network packet processing flow is entered; otherwise (version field 0xB), it is an access network packet, and different processing logic is applied based on the packet type (control packet or data packet). The data plane packet processing logic is as follows: Figure 6 As shown.

[0128] Step S402: If the version field is a core network packet identifier value, then the data packet is determined to be a core network packet, and it is determined whether the location identifier in the data packet matches the local flow table. If they match, then forwarding or copying operations are performed according to the flow table issued by the controller. If they do not match, then decapsulation and forwarding to the access switching router or default forwarding processing is performed according to whether the second location identifier points to the access switching router and whether there is a decapsulation flow table entry.

[0129] The forwarding or replication operation is performed according to the flow table issued by the controller, including: if the current network node is a replication node, the data packet is replicated into multiple copies according to the replication instruction in the flow table, and forwarded to the next-hop network node from the corresponding multiple ports.

[0130] Specifically, the entity responsible for executing core network packets is the core network's P4 switch. For core network packets, the system first checks the local flow table for a flow table entry corresponding to the PID. If a relevant flow table entry is found, the device performs the corresponding forwarding operation according to the forwarding rules in the flow table. If no entry is found, the system further determines whether the packet is destined for an Access Switch Router (ASR). If the packet is destined for the ASR, the device checks the local flow table for a corresponding decapsulation flow table. If a decapsulation flow table entry corresponding to the PID is found, the device performs a decapsulation operation on the packet and forwards the packet to the ASR, which then continues to forward the packet. If no entry is found, the default forwarding strategy is used, and the packet is output from the default port. If the packet is not destined for the ASR, the system directly forwards the packet through the default port.

[0131] Step S403: If the version field is the access network packet identifier value, the data packet is determined to be an access network packet, and the data packet is classified and forwarded according to the preset mapping relationship and flow table issued by the controller.

[0132] Specifically, step S403 includes: Step S4031: Determine whether the access network packet is a control packet or a data packet based on the next header field in the network layer header.

[0133] Specifically, after determining that a data packet is an access network packet, the P4 switch further parses its network layer header. It reads the value of the next header field and compares it with a preset control class identifier value. If the field value is a preset control class packet identifier value, the current packet is determined to be a control class packet. If the field value is another preset value (or a non-control class identifier value), the current packet is determined to be a data class packet, thus providing a basis for subsequent classification processing.

[0134] In step S4032, if the message is a control message, it is determined whether it is a request message or a response message based on the control message type field; if it is a request message, the request message is uploaded to the controller; if it is a response message, it is forwarded to the second terminal device based on the second device identifier.

[0135] Specifically, after determining that the access network packet is a control packet, the P4 switch further parses the control packet type field: if the value of this field is a preset request packet identifier, the packet is uploaded to the controller for processing; if the value of this field is a preset response packet identifier, the packet is forwarded to the corresponding second terminal device according to the second device identifier in the packet.

[0136] In step S4033, if the packet is a data packet, the destination identifier is extracted, and it is determined whether the destination identifier belongs to a terminal device under the jurisdiction of this access network. The destination identifier is either the target identity identifier or the second device identifier. If it belongs, the data packet is directly forwarded to the corresponding second terminal device. If it does not belong, the local mapping relationship is queried. If a mapping relationship exists, the core network header is encapsulated according to the mapping relationship and forwarded to the core network. If no mapping relationship exists, the data packet is sent to the controller.

[0137] Specifically, the entity responsible for executing access network packets is the P4 switch of the access network.

[0138] For access network packets, the system uses header fields to further determine the packet type. If the packet is a control packet (next header field is 0xB4), it is handled according to the specific situation: when it is a request packet (control packet type field is 0x64), the packet is sent to the controller in the control plane via the send_to_cpu operation of the P4 device for further control logic processing; when it is a response packet (control packet type field is 0xC8), it is directly forwarded to the target device. If the packet is a data packet (next header is not 0xB4), the system first checks whether the target DID / IID belongs to the access network terminal device. If the destination DID / IID matches the DID / IID stored in the local ASR, the data packet is forwarded directly to the target terminal. If they do not match, the local DID / IID-PID mapping table is queried. If a mapping relationship exists, the device will encapsulate the PID header according to the mapping relationship and forward the data packet to the core network router to achieve cross-domain transmission of the data packet. If no mapping relationship exists, the data packet is forwarded to the controller for querying, waiting for the controller in the control plane to issue a new flow table entry.

[0139] Step S404: Receive the network announcement message sent by the controller and forward the network announcement message to the corresponding second terminal device. The network announcement message carries the target identity identifier and is used to notify the second terminal device to join the corresponding multicast group.

[0140] Specifically, the P4 switch receives a network advertisement message from the controller, which carries the target identity identifier. The P4 switch forwards the network advertisement message to the corresponding second terminal device according to the destination address in the message, so as to notify the second terminal device to join the multicast group corresponding to the target identity identifier.

[0141] The data forwarding method provided in this embodiment utilizes a P4 programmable switch to achieve flexible processing and dynamic forwarding of data packets in the data plane. DID, IID, and PID are used to implement an identifier-based packet parsing and processing mechanism. This mechanism supports DID / IID-based identity addressing in the access network and PID-based efficient routing in the core network, ensuring the flexibility and accuracy of multicast communication.

[0142] This embodiment also provides an identity-oriented multicast identification communication device and a data forwarding device. These devices are used to implement the above embodiments and preferred embodiments; details already described will not be repeated. As used below, the term "module" can refer to a combination of software and / or hardware that performs a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, hardware implementations, or a combination of software and hardware, are also possible and contemplated.

[0143] This embodiment provides an identity-oriented multicast identification communication device, applied to a controller, such as... Figure 11 As shown, it includes: The query receiving module 1101 is used to receive a query request sent by the first terminal device, the query request carrying the target identity identifier.

[0144] The mapping query module 1102 is used to respond to a query request, query a preset mapping relationship based on the target identity identifier, and obtain the second device identifier of the second terminal device that matches the target identity identifier and its corresponding second location identifier.

[0145] The path construction module 1103 is used to construct a multicast propagation path from the first terminal device to each of the second terminal devices based on the pre-acquired network topology information, the first location identifier of the first terminal device, and the second location identifier of the second terminal device.

[0146] The flow table generation module 1104 is used to generate flow tables based on the multicast propagation path.

[0147] The flow table distribution module 1105 is used to distribute the flow table to the forwarding nodes on the multicast propagation path, so that the forwarding nodes can forward the data packets sent by the first terminal device according to the flow table.

[0148] In one optional implementation, the preset mapping relationship is implemented in the following way: Receive an identity registration message sent by the first terminal device, the identity registration message containing attribute features used to describe the identity information of the first terminal device; Based on the attribute characteristics, generate a first identity identifier and a first device identifier corresponding to the first terminal device; Obtain the location information of the first terminal device accessing the network, and map the location information to a first location identifier; Establish and store the mapping relationship between attribute features, first identity identifier, first device identifier and first location identifier.

[0149] In one optional implementation, obtaining the location information of the first terminal device accessing the network and mapping the location information to a first location identifier includes: Determine the access switching router to which the first terminal device is connected; Use the network address or interface information of the access switching router as the primary location identifier.

[0150] In one optional implementation, establishing and storing the mapping relationship between attribute features, the first identity identifier, the first device identifier, and the first location identifier includes: Perform hash operations on the attribute features to generate a fixed-length first identity identifier and a first device identifier; The attribute features, first identity identifier, first device identifier and first location identifier are associated to obtain a mapping relationship, which is then stored in the mapping database.

[0151] In some optional implementations, the mapping query module 1102 includes: The parsing unit is used to parse the query request and extract the target identity identifier.

[0152] The mapping query unit is used to query the second device identifiers of all second terminal devices associated with the target identity identifier based on a preset mapping relationship, and obtain the location identifiers corresponding to each queried second device identifier as the second location identifiers.

[0153] In one alternative implementation, network topology information is obtained in the following manner: Send link discovery probe messages to forwarding nodes in the target network; Receive and analyze response information from each forwarding node to determine the connection relationships and link costs between each forwarding node in order to construct the network topology; Obtain network topology information from the network topology.

[0154] In some alternative implementations, the path construction module 1103 includes: The optimal unicast path calculation unit is used to calculate the optimal unicast path from the first location identifier to each second location identifier based on the pre-acquired network topology information and using a unicast routing algorithm.

[0155] The multicast distribution tree construction unit is used to merge the network nodes contained in all optimal unicast paths and remove duplicate network nodes and redundant links to form a multicast distribution tree with the first terminal device as the root node and each second terminal device as the leaf node.

[0156] The path construction unit is used to traverse each network node in the multicast distribution tree, determine its forwarding behavior based on the number of child nodes that the network node connects to in the downward direction in the multicast distribution tree, and obtain the multicast propagation path.

[0157] In some alternative implementations, the flow table generation module 1104 includes: The node traversal unit is used to traverse each network node in the multicast distribution tree. Based on the number of child nodes that the network node is connected to in the downward direction in the multicast distribution tree, it determines whether the network node is a replication node or a forwarding node. Among them, the replication node is a network node with a number of child nodes greater than or equal to a preset number. The replication node needs to perform a data packet replication operation.

[0158] The action generation unit is used to generate action instructions for replication nodes that include replication instructions and forwarding to multiple ports, and to generate action instructions for forwarding nodes that forward to a single port.

[0159] The flow table generation unit is used to set the matching field of the flow table based on the target identity of the multicast service, and combine the matching field with the corresponding action instruction to generate the flow table.

[0160] This invention also provides a data forwarding device applied to a P4 switch. The data forwarding device uses flow tables and preset mapping relationships issued by an identity-oriented multicast identification communication method, such as... Figure 12 As shown, the data forwarding device includes: The message receiving and parsing module 1201 is used to receive data packets and parse the Ethernet header of the data packets.

[0161] The identity service determination module 1202 is used to determine that if the type field in the Ethernet header is a preset identity service identifier value, it is an identity service identifier data packet, and further parses the network layer header.

[0162] The message type determination module 1203 is used to determine the type of data message based on the version field in the network layer header.

[0163] The core network processing module 1204 is used to determine that the data packet is a core network packet if the version field is a core network packet identifier value, and to determine whether the location identifier in the data packet matches the local flow table. If they match, the module performs forwarding or copying operations according to the flow table issued by the controller. If they do not match, the module performs decapsulation and forwarding to the access switching router or performs default forwarding processing based on whether the second location identifier points to the access switching router and whether there is a decapsulation flow table entry.

[0164] The access network processing module 1205 is used to determine that the data packet is an access network packet if the version field is an access network packet identifier value, and to classify and forward the data packet according to the preset mapping relationship and flow table issued by the controller.

[0165] In one optional implementation, the core network processing module 1204 includes: The replication unit is used to replicate data packets into multiple copies according to the replication instructions in the flow table if the current network node is a replication node, and then forward them to the next-hop network node from the corresponding multiple ports.

[0166] In one optional implementation, the access network processing module 1205 includes: The message classification unit is used to determine whether an access network message is a control message or a data message based on the next header field in the network layer header.

[0167] The control message processing unit is used to determine whether a message is a request message or a response message based on the control message type field if it is a control message; if it is a request message, it uploads the request message to the controller; if it is a response message, it forwards it to the second terminal device based on the second device identifier.

[0168] The data packet processing unit is used to extract the destination identifier if the packet is a data packet, and determine whether the destination identifier belongs to a terminal device under the jurisdiction of this access network; the destination identifier is either a target identity identifier or a second device identifier; if it belongs, the data packet is directly forwarded to the corresponding second terminal device; if it does not belong, the local mapping relationship is queried; if a mapping relationship exists, the core network header is encapsulated according to the mapping relationship and forwarded to the core network; if no mapping relationship exists, the data packet is sent to the controller.

[0169] In one optional implementation, the data forwarding device further includes: The network announcement message processing module is used to receive network announcement messages sent by the controller and forward the network announcement messages to the corresponding second terminal devices. The network announcement messages carry the target identity identifier and are used to notify the second terminal devices to join the corresponding multicast group.

[0170] The identity-oriented multicast identification communication device provided in this embodiment of the invention can execute the identity-oriented multicast identification communication method provided in any embodiment of the invention. The data forwarding device provided in this embodiment of the invention can execute the data forwarding method provided in any embodiment of the invention, and has the corresponding functional modules and beneficial effects for executing the method. Further functional descriptions of the above modules and units are the same as those in the corresponding embodiments described above, and will not be repeated here.

[0171] Figure 13 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present invention.

[0172] The following is a detailed reference. Figure 13 This diagram illustrates a suitable structural schematic for implementing an electronic device according to embodiments of the present invention. The electronic device may include a processor (e.g., a central processing unit, graphics processor, etc.) 1301, which can perform various appropriate actions and processes according to a program stored in read-only memory (ROM) 1302 or a program loaded from memory 1308 into random access memory (RAM) 1303. The RAM 1303 also stores various programs and data required for the operation of the electronic device. The processor 1301, ROM 1302, and RAM 1303 are interconnected via a bus 1304. An input / output (I / O) interface 1305 is also connected to the bus 1304.

[0173] Typically, the following devices can be connected to I / O interface 1305: input devices 1306 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 1307 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; memory devices 1308 including, for example, magnetic tapes, hard disks, etc.; and communication devices 1309. Communication device 1309 allows electronic devices to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 13 Electronic devices with various devices are shown, but it should be understood that it is not required to implement or have all of the devices shown, and more or fewer devices may be implemented or have instead.

[0174] In particular, according to embodiments of the present invention, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of the present invention include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication device 1309, or installed from memory 1308, or installed from ROM 1302. When the computer program is executed by processor 1301, it performs the functions defined in the identity-oriented multicast identification communication method and data forwarding method of the embodiments of the present invention.

[0175] Figure 13 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of use of the embodiments of the present invention.

[0176] This invention also provides a computer-readable storage medium. The methods described above according to embodiments of the invention can be implemented in hardware or firmware, or implemented as computer code that can be recorded on a storage medium, or implemented as computer code downloaded via a network and originally stored on a remote storage medium or a non-transitory machine-readable storage medium and then stored on a local storage medium. Thus, the methods described herein can be processed by software stored on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. The storage medium can be a magnetic disk, optical disk, read-only memory, random access memory, flash memory, hard disk, or solid-state drive, etc.; further, the storage medium can also include combinations of the above types of memory. It is understood that computers, processors, microprocessor controllers, or programmable hardware include storage components capable of storing or receiving software or computer code. When the software or computer code is accessed and executed by the computer, processor, or hardware, the identity-oriented multicast identification communication method and data forwarding method shown in the above embodiments are implemented.

[0177] A portion of this invention can be applied as a computer program product, such as computer program instructions, which, when executed by a computer, can invoke or provide the methods and / or technical solutions according to the invention through the operation of the computer. Those skilled in the art will understand that the forms in which computer program instructions exist in a computer-readable medium include, but are not limited to, source files, executable files, installation package files, etc. Correspondingly, the ways in which computer program instructions are executed by a computer include, but are not limited to: the computer directly executing the instructions, or the computer compiling the instructions and then executing the corresponding compiled program, or the computer reading and executing the instructions, or the computer reading and installing the instructions and then executing the corresponding installed program. Here, the computer-readable medium can be any available computer-readable storage medium or communication medium accessible to a computer.

[0178] Although embodiments of the invention have been described in conjunction with the accompanying drawings, those skilled in the art can make various modifications and variations without departing from the spirit and scope of the invention, and such modifications and variations all fall within the scope defined by the appended claims.

Claims

1. An identity-oriented multicast identification communication method, characterized in that, Applied to a controller, the method includes: Receive a query request sent by a first terminal device, wherein the query request carries a target identity identifier; In response to the query request, a preset mapping relationship is queried based on the target identity to obtain the second device identifier of the second terminal device that matches the target identity and its corresponding second location identifier; Based on the pre-acquired network topology information, the first location identifier of the first terminal device, and the second location identifier of the second terminal device, a multicast propagation path is constructed from the first terminal device to each of the second terminal devices; A flow table is generated based on the multicast propagation path, and the flow table is distributed to the forwarding nodes on the multicast propagation path so that the forwarding nodes forward the data packets sent by the first terminal device according to the flow table.

2. The method according to claim 1, characterized in that, The preset mapping relationship is implemented in the following way: Receive an identity registration message sent by a first terminal device, wherein the identity registration message contains attribute features for describing the identity information of the first terminal device; Based on the attribute characteristics, a first identity identifier and a first device identifier corresponding to the first terminal device are generated; Obtain the location information of the first terminal device accessing the network, and map the location information to a first location identifier; Establish and store the mapping relationship between the attribute features, the first identity identifier, the first device identifier, and the first location identifier.

3. The method according to claim 2, characterized in that, Obtaining the location information of the first terminal device accessing the network, and mapping the location information to a first location identifier, includes: Determine the access switching router to which the first terminal device is connected; The network address or interface information of the access switching router is used as the first location identifier.

4. The method according to claim 2, characterized in that, The process of establishing and storing the mapping relationship between the attribute features, the first identity identifier, the first device identifier, and the first location identifier includes: Perform a hash operation on the attribute features to generate a fixed-length first identity identifier and a first device identifier; The attribute features, first identity identifier, first device identifier, and first location identifier are associated to obtain a mapping relationship, which is then stored in the mapping database.

5. The method according to claim 1, characterized in that, The step of responding to the query request by querying a preset mapping relationship based on the target identity to obtain the second device identifier of the second terminal device matching the target identity and its corresponding second location identifier includes: Parse the query request and extract the target identity identifier; Based on the preset mapping relationship, query the second device identifiers of all second terminal devices associated with the target identity identifier, and obtain the location identifiers corresponding to each queried second device identifier as second location identifiers.

6. The method according to claim 1, characterized in that, The network topology information is obtained through the following methods: Send link discovery probe messages to forwarding nodes in the target network; Receive and analyze response information from each forwarding node to determine the connection relationships and link costs between each forwarding node in order to construct the network topology; Obtain the network topology information from the network topology.

7. The method according to claim 1, characterized in that, The construction of the multicast propagation path from the first terminal device to each of the second terminal devices includes: Based on the pre-acquired network topology information, the optimal unicast path from the first location identifier to each second location identifier is calculated using a unicast routing algorithm. The network nodes contained in all the optimal unicast paths are merged, and duplicate network nodes and redundant links are removed to form a multicast distribution tree with the first terminal device as the root node and each second terminal device as the leaf node. Traverse each network node in the multicast distribution tree, determine its forwarding behavior based on the number of child nodes that the network node connects to in the downward direction in the multicast distribution tree, and obtain the multicast propagation path.

8. The method according to claim 7, characterized in that, Generate a flow table based on the multicast propagation path, including: Traverse each network node in the multicast distribution tree, and determine the type of the network node as a replication node or a forwarding node based on the number of child nodes that the network node connects to in the downward direction in the multicast distribution tree; wherein, a replication node is a network node with a number of child nodes greater than or equal to a preset number, and the replication node needs to perform a data packet replication operation. Generate an action command containing replication instructions and multiple port forwarding for the replication node, and generate an action command for forwarding to a single port for the forwarding node; The matching field of the flow table is set based on the target identity identifier of the multicast service, and the matching field is combined with the corresponding action instruction to generate the flow table.

9. A data forwarding method, characterized in that, Applied to a P4 switch, the data forwarding method uses the flow table and preset mapping relationship issued by the identity-oriented multicast identification communication method as described in any one of claims 1 to 8, and the data forwarding method includes: Receive data packets and parse the Ethernet header of the data packets; If the type field in the Ethernet header is a preset identity service identifier value, it is determined to be an identity service identifier data packet, and the network layer header is further parsed; The type of data packet is determined by the version field in the network layer header; If the version field is a core network packet identifier value, the data packet is determined to be a core network packet. The location identifier in the data packet is then checked to see if it matches the local flow table. If it matches, the forwarding or copying operation is performed according to the flow table issued by the controller. If it does not match, the decapsulation and forwarding to the access switching router or the default forwarding process is performed based on whether the second location identifier points to the access switching router and whether there is a decapsulation flow table entry. If the version field is an access network packet identifier value, the data packet is determined to be an access network packet, and the data packet is classified and forwarded according to the preset mapping relationship and flow table issued by the controller.

10. The method according to claim 9, characterized in that, Perform forwarding or replication operations according to the flow table issued by the controller, including: If the current network node is a replication node, the data packet is copied into multiple copies according to the replication instructions in the flow table, and forwarded to the next-hop network node from the corresponding multiple ports.

11. The method according to claim 9, characterized in that, The process of classifying and forwarding data packets based on the preset mapping relationship and flow table issued by the controller includes: The access network packet is determined as either a control packet or a data packet based on the next header field in the network layer header; If it is a control message, it is determined whether it is a request message or a response message based on the control message type field; if it is a request message, it is uploaded to the controller; if it is a response message, it is forwarded to the second terminal device based on the second device identifier. If it is a data message, the destination identifier is extracted, and it is determined whether the destination identifier belongs to a terminal device under the jurisdiction of this access network; the destination identifier is a target identity identifier or a second device identifier. If it does, the data packet will be forwarded directly to the corresponding second terminal device; If it does not belong to the mapping relationship, the local mapping relationship is queried; if a mapping relationship exists, the core network header is encapsulated according to the mapping relationship and forwarded to the core network; if no mapping relationship exists, the data packet is sent to the controller.

12. The method according to claim 9, characterized in that, The method further includes: The system receives a network announcement message from the controller and forwards the network announcement message to the corresponding second terminal device. The network announcement message carries a target identity identifier and is used to notify the second terminal device to join the corresponding multicast group.

13. An identity-oriented multicast identification communication device, characterized in that, Applied to a controller, the device includes: The query receiving module is used to receive a query request sent by the first terminal device, wherein the query request carries a target identity identifier; The mapping query module is used to respond to the query request, query a preset mapping relationship based on the target identity identifier, and obtain the second device identifier of the second terminal device that matches the target identity identifier and its corresponding second location identifier; The path construction module is used to construct a multicast propagation path from the first terminal device to each of the second terminal devices based on the pre-acquired network topology information, the first location identifier of the first terminal device, and the second location identifier of the second terminal device. A flow table generation module is used to generate flow tables based on the multicast propagation path. The flow table distribution module is used to distribute the flow table to the forwarding nodes on the multicast propagation path, so that the forwarding nodes forward the data packets sent by the first terminal device according to the flow table.

14. A data forwarding device, characterized in that, Applied to a P4 switch, the data forwarding device uses the flow table and preset mapping relationship issued by the identity-oriented multicast identification communication method as described in any one of claims 1 to 8, and the data forwarding device includes: The message receiving and parsing module is used to receive data packets and parse the Ethernet header of the data packets; The identity service determination module is used to determine that if the type field in the Ethernet header is a preset identity service identifier value, it is an identity service identifier data packet, and further parses the network layer header; The message type determination module is used to determine the type of data message based on the version field in the network layer header. The core network processing module is used to determine that the data packet is a core network packet if the version field is a core network packet identifier value, and to determine whether the location identifier in the data packet matches the local flow table. If they match, the module performs forwarding or copying operations according to the flow table issued by the controller. If they do not match, the module performs decapsulation and forwarding to the access switching router or performs default forwarding processing based on whether the second location identifier points to the access switching router and whether there is a decapsulation flow table entry. The access network processing module is used to determine that a data packet is an access network packet if the version field is an access network packet identifier value, and to classify, process and forward the data packet according to the preset mapping relationship and flow table issued by the controller.