A multi-protocol data transmission method and device, network and storage medium
By analyzing and reorganizing packets, the problem of protocol semantic mismatch and deployment difficulty in TCP/IP and NDN network fusion is solved, and the seamless transmission of multi-protocol data packets and the progressive network upgrade is achieved.
Patent Information
- Application Number
- CN202180098873.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-22
- Publication Date
- 2024-12-24
- Estimated Expiration
- 2041-12-22
AI Technical Summary
The existing TCP/IP network and NDN network convergence technologies have problems with information loss and deployment difficulty, especially in protocol semantic mismatch and hardware device requirements, which leads to high compatibility and deployment difficulty.
By obtaining multi-protocol type data packets, decomposing and parsing packet header data to obtain protocol type information and forwarding path tag information, selecting matching data processing channels to convert protocol type information and update tag information, and reorganizing data packets to achieve different Seamless transmission between protocols.
It realizes effective analysis and forwarding of multiple protocol packets, overcomes protocol compatibility issues, supports heterogeneous protocols such as NDN and computing power orchestration protocols, adapts to new network architectures, and provides progressive network upgrades and seamless protocol integration capabilities. .
Smart Images

Figure CN117441318B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of network communication technology, and in particular to a multi-protocol data transmission method and device, a network and a storage medium. Background Art
[0002] With the development of computer networks and the openness brought by programmable technology, more and more heterogeneous transmission protocols have emerged, such as IP protocol, NDN protocol, QUIC protocol, computing network transmission protocol, etc. These heterogeneous protocols need to be integrated and processed on network layer devices, but their transmission semantics are different, and different hardware devices are required for transmission during forwarding.
[0003] At present, in the research related to the integration of TCP / IP network and NDN network, the first idea is to achieve the purpose of network integration by setting up gateway nodes to convert between protocols; the second idea is to achieve the purpose of network integration by incrementally deploying programmable open switches that support software and hardware collaboration of different protocols. Regardless of which idea is used, there are still some problems in research and application.
[0004] Regarding the setting of network nodes, one is to use HTTP to achieve the integration of the two networks. Although many similarities between the NDN protocol and the HTTP protocol in terms of protocol semantics are taken into account, the disadvantage is that HTTP, as an application layer protocol, is bound to carry more semantic information, which may result in the loss of some information during the protocol conversion process. The other is to achieve the integration of the two networks based on TCP, setting two gateway nodes at the edge of the network, which are connected to the sender and receiver of TCP respectively. When the gateway node receives the TCP message sent by the TCP sender or receiver, the gateway node will perform protocol conversion; however, the communication semantics of the TCP protocol and the NDN protocol are different. The TCP protocol is an end-to-end protocol, while the NDN protocol is a content-oriented protocol, which requires hop-by-hop to complete multi-path data transmission; in addition, the TCP protocol is a push process, and the NDN protocol is a pull process, and the two cannot achieve protocol matching.
[0005] In the case of incremental deployment of programmable open switches, NDN is completely separated from IP. NDN is no longer deployed on IP, but on Ethernet, and NDN data packets are directly forwarded and transmitted on the link layer. The disadvantage of this method is that it is difficult to deploy. Currently, research in the field of TCP / IP and NDN network integration is still immature and lacks necessary technical support. Summary of the invention
[0006] Technical issues
[0007] The main technical problem solved by this application is: how to improve the multi-protocol processing capability of the switch.
[0008] Technical Solution
[0009] In order to solve the above technical problems, the present application proposes a multi-protocol data transmission method and device, a network and a storage medium.
[0010] According to the first aspect, an embodiment provides a data transmission method supporting multiple protocols, including: obtaining a data packet of a preset protocol type; decomposing the data packet to obtain header data and body data; parsing the header data to obtain protocol type information and / or forwarding path label information; selecting a matching data processing channel from multiple data processing channels according to the protocol type information; converting the protocol type information of the header data according to the matching data processing channel, and / or updating the forwarding path label information to obtain new header data; recombining the new header data and the body data, and transmitting the recombined data packet.
[0011] The parsing of the packet header data to obtain the protocol type information and / or forwarding path label information includes: parsing the packet header data according to a preset finite state machine to obtain the protocol type information of the packet header data; and / or parsing to obtain a custom vector inserted in the packet header data, and obtaining the forwarding path label information of the packet header data according to the custom vector.
[0012] The protocol type information includes one or more of the TCP / IP protocol, the NDN protocol, the computing power orchestration protocol, the blockchain protocol, the cryptographic protocol, the QUIC protocol, and the DCCP protocol.
[0013] The parsing of the packet header data according to a preset finite state machine to obtain the protocol type information of the packet header data includes: identifying multiple custom fields in the packet header data according to the finite state machine, the multiple custom fields including an ehtertype field, an ip_proto field and a tl_code field; judging which of the IPv6 protocol, the IPv4 protocol and the NDN protocol the protocol type information of the packet header data belongs to according to the ehtertype field; if it belongs to the IPv6 protocol or the IPv4 protocol, judging the protocol type information of the data packet as the UDP type or the TCP type according to the ip_proto field; if it belongs to the NDN protocol, judging the protocol type information of the data packet as the interest packet transmission type or the data packet transmission type according to the tl_code field.
[0014] The converting of the protocol type information of the packet header data according to the matching data processing channel and / or the updating of the forwarding path label information to obtain new packet header data includes: preprocessing the data packet through the data processing channel matching the protocol type information to obtain the execution action of the data packet; converting the protocol type information of the packet header data in the data packet according to the execution action and / or the updating of the forwarding path label information to obtain new packet header data.
[0015] The preprocessing of the data packet through the data processing channel matching the protocol type information to obtain the execution action of the data packet includes: obtaining a multi-protocol matching action table according to the data processing channel matching the protocol type information; configuring the data packet according to the multi-protocol matching action table to obtain the execution action for the data packet; the multi-protocol action matching table is used to address mark the prefix mask of the network, the routing field of the device and the port number of the output end; the execution action includes a protocol conversion operation, and / or a label update operation.
[0016] The protocol type information of the packet header data in the data packet is converted according to the execution action, and / or the forwarding path label information is updated to obtain new packet header data, including: when the execution action indicates the operation of protocol conversion, the protocol type contained in the packet header data is replaced by a preset target network protocol to achieve the conversion of the protocol type information; when the execution action indicates the operation of label update, the unique characteristic matrix of other network transmission devices passed by the data packet and the custom vector inserted in the packet header data are used to perform mathematical operations to achieve the update of the forwarding path label information; when the execution action indicates the operation of protocol conversion and label update, the protocol type contained in the packet header data is replaced by the target network protocol, and the unique characteristic matrix of other network transmission devices passed by the data packet and the custom vector inserted in the packet header data are used to perform mathematical operations.
[0017] The reorganization of the new header data and the body data and transmission of the reorganized data packet includes: splicing the new header data and the body data to obtain a spliced reorganized data packet; outputting the reorganized data packet from a preset network port to transmit the reorganized data packet over the network.
[0018] According to the second aspect, an embodiment provides a network transmission device, including: a network port, used to access the Internet and send and receive data packets transmitted by the Internet; a processor, connected to the network port, used to obtain a preset type of data packet from the network port, decompose the data packet to obtain packet header data and packet body data, parse the packet header data to obtain protocol type information and / or forwarding path label information, select a matching data processing channel from multiple data processing channels according to the protocol type information, convert the protocol type information of the packet header data according to the matching data processing channel, and / or update the forwarding path label information to obtain new packet header data, and reassemble the new packet header data and the packet body data, and output the reassembled data packet from the network port.
[0019] The processor includes a parsing module; the parsing module parses the packet header data according to a preset finite state machine to obtain protocol type information of the packet header data; and / or the parsing module parses to obtain a custom vector inserted in the packet header data, and obtains forwarding path label information of the packet header data according to the custom vector; the protocol type information includes one or more of TCP / IP protocol, NDN protocol, computing power orchestration protocol, blockchain protocol, cryptographic protocol, QUIC protocol, and DCCP protocol.
[0020] The parsing module parses the packet header data according to a preset finite state machine to obtain the protocol type information of the packet header data, including: the parsing module identifies multiple custom fields in the packet header data according to the finite state machine, and the multiple custom fields include an ehtertype field, an ip_proto field and a tl_code field; the parsing module determines whether the protocol type information of the packet header data belongs to the IPv6 protocol, the IPv4 protocol and the NDN protocol according to the ehtertype field; in the case of belonging to the IPv6 protocol or the IPv4 protocol, the parsing module determines that the protocol type information of the data packet is a UDP type or a TCP type according to the ip_proto field; in the case of belonging to the NDN protocol, the parsing module determines that the protocol type information of the data packet is an interest packet transmission type or a data packet transmission type according to the tl_code field.
[0021] The processor also includes multiple data processing channels that match multiple different protocol type information respectively; the data processing channel that matches the protocol type information among the multiple data processing channels receives the data packet; the data processing channel that matches the protocol type information calls the corresponding multi-protocol matching action table; the data processing channel that matches the protocol type information configures the data packet according to the multi-protocol matching action table to obtain an execution action for the data packet; the multi-protocol action matching table is used to address the prefix mask of the network, the routing field of the device and the port number of the output end; the execution action includes a protocol conversion operation, and / or a label update operation.
[0022] The processor also includes an interactive module; when the interactive module determines the operation of performing the action indicating protocol conversion, the protocol type contained in the packet header data is replaced by a preset target network protocol to realize the conversion of protocol type information; when the interactive module determines the operation of performing the action indicating label update, the unique characteristic matrix of other network transmission devices passed by the data packet is used to perform mathematical operations with the custom vector inserted in the packet header data to realize the update of forwarding path label information; when the interactive module determines the operation of performing the action indicating protocol conversion and label update, the protocol type contained in the packet header data is replaced by the target network protocol, and the unique characteristic matrix of other network transmission devices passed by the data packet is used to perform mathematical operations with the custom vector inserted in the packet header data.
[0023] The processor also includes a reassembly module; the reassembly module splices the new packet header data and the packet body data to obtain a spliced reassembled data packet; the reassembly module outputs the reassembled data packet from a network port to transmit the reassembled data packet over the network.
[0024] The network transmission device is a switch, a router, a gateway or a network card.
[0025] According to the third aspect, an embodiment provides a heterogeneous fusion network, including a data layer and a control layer; the data layer includes multiple network transmission devices connected in a topological manner, and each of the network transmission devices can support multiple communication protocols for data forwarding; the control layer is connected to the network transmission devices in the data layer, and is used to control the data forwarding path of the network transmission device; in the data layer, each of the network transmission devices can obtain data packets of a preset protocol type forwarded by other connected network transmission devices, and decompose the data packets to obtain header data and packet body data; the network transmission device can parse the header data to obtain protocol type information and forwarding path label information, select a matching data processing channel from multiple data processing channels according to the protocol type information, convert the protocol type information of the header data and update the forwarding path label information according to the matching data processing channel to obtain new header data; the network transmission device can reorganize the new header data and the packet body data, and transmit the reorganized data packet to the next network transmission device on the forwarding path.
[0026] According to a fourth aspect, an embodiment provides a computer-readable storage medium, on which a program is stored, and the program can be executed by a processor to implement the data transmission method described in the first aspect above.
[0027] Beneficial Effects
[0028] The beneficial effects of this application are:
[0029] A multi-protocol data transmission method and device, network and storage medium according to the above embodiment, wherein the data transmission method includes: obtaining a data packet of any one protocol type among multiple protocol types, decomposing the data packet to obtain packet header data and packet body data, parsing the packet header data to obtain protocol type information and / or forwarding path label information, selecting a matching data processing channel from multiple data processing channels according to the protocol type information, converting the protocol type information of the packet header data according to the matching data processing channel, and / or updating the forwarding path label information to obtain new packet header data, recombining the new packet header data and packet body data and transmitting the recombined data packet. First, the technical solution can parse data packets of various protocol types, supporting not only conventional IPv4 / IPv6 protocols of the same family, but also effectively supporting NDN protocols, computing power orchestration protocols, blockchain protocols, etc. with special heterogeneous characteristics, overcoming compatibility issues between them, and has strong adaptability to new SDN networks. It can also be oriented to application scenarios of some cutting-edge network architectures, especially using matching channels for special processing of certain specific protocol types, so as to support the forwarding tasks of data packets of various protocols from a technical level; second, the technical solution can forward data packets of various different protocol types, with strong compatibility and little upgrade changes to the original equipment. It not only selects matching data processing channels based on the protocol type information of the data packet, but also supports the conversion of protocol type information, thereby solving the coupling protocol after data channel processing. The interactive demand problem enables data packets to be converted between different protocol types to achieve an overall interactive coupling relationship; thirdly, the technical solution can flexibly support different network protocols, and the support for new network protocols will not affect its support for existing network protocols. It only needs to configure more data processing channels, that is, to make incremental modifications to the protocol parsing plug-in and protocol processing channel on the original basis, and to add new state jumps to the new protocol on the finite state machine, and then propose new protocol processing channels for the new protocol; fourthly, the technical solution can be applied to network transmission equipment such as routers, thereby providing a feasible technical route for the deployment of heterogeneous converged networks, which can support the seamless integration of protocols between IP networks, NDN networks, computing power networks and transport layer distributed coordination and control networks, and can realize the "progressive" upgrade needs of the network. BRIEF DESCRIPTION OF THE DRAWINGS
[0030] Figure 1 This is a structural diagram of a network transmission device in an embodiment of the present application;
[0031] Figure 2 is a schematic diagram of the structure of the processor;
[0032] Figure 3 A flowchart of a data transmission method supporting multiple protocols in an embodiment of the present application;
[0033] Figure 4 Flowchart for parsing packet header data;
[0034] Figure 5 Flowchart updated for protocol conversion and labeling;
[0035] Figure 6 Schematic diagram of the principle of information conversion;
[0036] Figure 7 It is a structural diagram of a multi-protocol matching action table;
[0037] Figure 8 This is a structural diagram of a heterogeneous fusion network in an embodiment of the present application;
[0038] Fig. 9 It is a structural diagram of the data level;
[0039] Fig.10 A schematic diagram of the communication connection between the switch and the controller;
[0040] Fig.11 Schematic diagram of the principle of a multi-protocol switch;
[0041] Fig.12 This is a structural diagram of a network transmission device in another embodiment of the present application. DETAILED DESCRIPTION
[0042] The present application is further described in detail below by specific embodiments in conjunction with the accompanying drawings. Wherein similar elements in different embodiments adopt associated similar element numbers. In the following embodiments, many detailed descriptions are intended to enable the present application to be better understood. However, those skilled in the art can easily recognize that some of the features can be omitted in different situations, or can be replaced by other elements, materials, and methods. In some cases, some operations related to the present application are not shown or described in the specification, in order to avoid the core part of the present application being overwhelmed by too much description, and for those skilled in the art, it is not necessary to describe these related operations in detail, and they can fully understand the related operations based on the description in the specification and the general technical knowledge in the art.
[0043] In addition, the features, operations or characteristics described in the specification can be combined in any appropriate manner to form various implementations. At the same time, the steps or actions in the method description can also be interchanged or adjusted in a manner that is obvious to those skilled in the art. Therefore, the various sequences in the specification and the drawings are only for the purpose of clearly describing a certain embodiment and are not meant to be a required sequence, unless otherwise specified that a certain sequence must be followed.
[0044] The serial numbers of the components in this document, such as "first", "second", etc., are only used to distinguish the objects described and do not have any order or technical meaning. The "connection" and "coupling" mentioned in this application, unless otherwise specified, include direct and indirect connections (couplings).
[0045] The technical solution of the present application constructs a transmission device and implementation method that can support the forwarding of data packets of multiple protocol types, which is used to transmit data packets of multiple protocols in the network. It can not only conventionally support IP protocols, but also support heterogeneous types of NDN protocols and computing power orchestration protocols, and will not affect the support of existing network protocols when supporting new network protocols. It has strong compatibility and can better adapt to the network protocol requirements of new networks, so as to be promoted and used in cutting-edge network architectures. The technical solution of the present application parses and identifies data packets through a protocol parsing plug-in, and can identify which protocol the current data packet belongs to. After the protocol parsing plug-in parses the data packet, the data packet will enter the matching protocol processing pipeline for processing, and data packets of different protocols will enter different protocol processing pipelines respectively. For different protocols in need, due to the coupling of the direct semantic functions of the protocol, while the data is being processed in parallel, some timing processes also coordinate the state and data between the relevant multiple parallel processing management channels according to the change of state. After the data packet is processed by the protocol, it will be sent to the reverse parsing plug-in, reorganized to generate a new data packet, and then forwarded.
[0046] Embodiment 1
[0047] Please refer to Figure 1 In this embodiment, a network transmission device is disclosed. The network transmission device 1 mainly includes a network port 11 and a processor 12, which are described below respectively.
[0048] The network port 11 is a network interface component, which is used to access the external Internet and send and receive data packets transmitted by the Internet. The type of the network port 11 can be any one of an RJ-45 interface, an RJ-11 interface, an SC optical fiber interface, an FDDI interface, an AUI interface, and a BNC interface.
[0049] The processor 12 is connected to the network port 11, and its function is to obtain a data packet of any one of the multiple protocol types from the network port 11, decompose the data packet to obtain packet header data and packet body data, then parse the packet header data to obtain protocol type information and / or forwarding path label information, select a matching data processing channel from multiple data processing channels according to the protocol type information, convert the protocol type information of the packet header data according to the matching data processing channel, and / or update the forwarding path label information to obtain new packet header data, and reassemble the new packet header data and packet body data, and output the reassembled data packet from the network port.
[0050] It should be noted that the processor 12 may be a conventional logic processing component, such as a CPU, an MCU, an FPGA, a single-chip microcomputer, etc., and may even include some peripheral auxiliary electronic components, which are not specifically described here. Of course, the processor 12 should have some logic processing capabilities to achieve the functions of decomposing, parsing, transmitting, converting protocols, updating labels, and reassembling data packets.
[0051] In this embodiment, see Figure 2 The processor 12 includes a parsing module 121, a plurality of data processing channels (such as reference numerals 1221, 1222, 1223, 1224), an interaction module 123 and a reorganization module 124, which are described as follows.
[0052] Since the data packets transmitted in the network may be of any protocol type, such as data packets of any protocol type among multiple protocol types, after the parsing module 121 obtains the data packet of any protocol type among multiple protocol types from the network port 11, the parsing module 121 needs to decompose the data packet to obtain the packet header data and the packet body data; since the packet header data is rule-based information for data transmission, the parsing module 121 is also required to further parse the packet header data to obtain the protocol type information and / or forwarding path label information.
[0053] In one case, in order to obtain the protocol type information in the packet header data, the parsing module 121 may parse the packet header data according to a preset finite state machine, thereby obtaining the protocol type information of the packet header data. And / or, in another case, in order to obtain the forwarding path label information in the packet header data, the parsing module 122 may parse and obtain the custom vector inserted in the packet header data, and obtain the forwarding path label information of the packet header data according to the custom vector.
[0054] It should be noted that, since the data packet may be of any protocol type, the protocol type information may include one or more of the TCP / IP protocol, NDN protocol, computing power orchestration protocol, blockchain protocol, cryptographic protocol, QUIC protocol, and DCCP protocol. Among them, the TCP / IP protocol and the NDN protocol are both relatively conventional network protocols, while the computing power orchestration protocol, blockchain protocol, cryptographic protocol, QUIC protocol, and DCCP protocol are network protocols used only in specific application scenarios.
[0055] for example Figure 2, the parsing module 121 can be regarded as a protocol parsing plug-in in the processor 12. After the parsing module 121 receives a data packet of a certain protocol type, it will first be processed by the protocol parsing plug-in, so as to perform protocol parsing on the packet header of the data packet to identify which network protocol type the current data packet is. The parsing module 121 can accept data packets of IP protocol type (including IPv4, IPv6), data packets of NDN protocol type (including NDN interest packets, NDN data packets), as well as data packets of orchestration protocol type, data packets of blockchain protocol type, and even data packets of other protocol types. It can be understood that for data packets of different protocol types, the parsing module 121 will identify their protocol types and record the protocol type of the data packet in the metadata.
[0056] In a specific embodiment, the parsing module 121 parses the packet header data according to a preset finite state machine to obtain the protocol type information of the packet header data, including the following processing:
[0057] (1) The parsing module 121 identifies multiple custom fields in the packet header data according to the finite state machine. The multiple custom fields here may include an ehtertype field, an ip_proto field, and a tl_code field.
[0058] (2) The parsing module 121 determines whether the protocol type information of the packet header data belongs to the IPv6 protocol, the IPv4 protocol, or the NDN protocol according to the ehtertype field.
[0059] (3) When the parsing module 121 determines that the protocol type of the packet header data belongs to the IPv6 protocol or the IPv4 protocol, the parsing module 1212 determines that the protocol type information of the data packet is the UDP type or the TCP type according to the ip_proto field.
[0060] (4) When the parsing module 121 determines that the protocol type of the packet header data belongs to the NDN protocol, the parsing module 121 will determine the protocol type information of the data packet as the interest packet transmission type or the data packet transmission type according to the tl_code field.
[0061] for example Figure 6A finite state machine is illustrated, based on which the protocol type of a data packet can be determined, and different protocol jumps are made for data packets of different protocol types. Data packets of different protocol types are encapsulated into Ethernet frames, so the parsing module 121 first parses the Ethernet frame header to obtain the header data, and the Ethernet frame header contains multiple custom fields. In the first case, if the value of the ethertype field of the Ethernet frame is 0x86DD, the protocol type inserted in the current header data is the IPv6 protocol; if the value of the ethertype field is 0x8000, the protocol type inserted in the current header data is the IPv4 protocol; after identifying the IPv4 protocol and the IPv6 protocol, the value of the ip_proto field is then determined. If the value of the ip_proto field is 0x0017, the protocol type of the current data packet is the UDP type; if the value of the ip_proto field is 0x0006, the protocol type of the current data packet is the TCP type. In the second case, if the value of the ethertype field of the Ethernet frame is 0x9999, the protocol type inserted in the current header data is the NDN protocol; after the NDN protocol is identified, the value of the tl_code field is obtained and then judged. If the value of tl_code is 0x05, the current data packet should be an NDN interest packet in terms of protocol type; if the value of tl_code is 0x06, the current data packet should be an NDN data packet in terms of protocol type; of course, for both the NDN interest packet and the NDN data packet, the data identifier can be further judged by the tlv_type field. When tlv_type=0x08, the NDN interest packet (or NDN data packet) has an NDN Nonce identifier, and when tlv_type=0x07, the NDN interest packet (or NDN data packet) has an NDN Name identifier, thereby completing the identification of the specific type. It can be understood that after the parsing module 121 parses and identifies the data packet, the protocol type of the data packet will be recorded in the metadata, and the protocol type in the metadata will be called in the next processing process.
[0062] See also Figure 2 The processor 12 includes multiple data processing channels 1221, 1222, 1223, and 1224 that match multiple different protocol type information. These data processing channels are used to transmit and process data packets of specific protocol types, thereby enhancing data transmission and processing efficiency and supporting the forwarding task of multiple protocol data packets. It can be understood that Figure 2The multiple data processing channels 1221, 1222, 1223, and 1224 shown in the figure are only one implementation method, and the number of data processing channels can be flexibly increased or decreased according to actual needs. It can also be understood that different data processing channels will process different types of data packets. For example, data packets of IPv4 protocol type will enter the data processing channel matching the IPv4 protocol for processing, data packets of IPv6 protocol type will enter the data processing channel matching the IPv6 protocol for processing, data packets of NDN protocol type will enter the data processing channel matching the NDN protocol for processing, data packets of orchestration protocol type will enter the data processing channel matching the orchestration protocol for processing, data packets of blockchain protocol type will enter the data processing channel matching the blockchain protocol for processing, and data packets of other protocol types will enter the data processing channels matching other protocols for processing, which will not be explained one by one here.
[0063] In a specific embodiment, the protocol type information of the data packet has been known after the data packet passes through the parsing module 121, so for multiple data processing channels 1221, 1222, 1223, 1224, the data processing channel (such as 1221) that matches the protocol type information in the multiple data processing channels can receive the data packet forwarded from the parsing module 121, then, the data processing channel 1221 that matches the protocol type information calls the corresponding multi-protocol matching action table, and then, the data processing channel 1221 that matches the protocol type information configures the data packet according to the multi-protocol matching action table to obtain the execution action for the data packet. It should be noted that the multi-protocol action matching table here is used to address the prefix mask of the network, the routing field of the device, and the port number of the output end; the execution action here includes the operation of protocol conversion, and / or the operation of label update. It can be understood that for each data processing channel, not only can the data packet of the matching protocol type be transmitted, but also the action configuration of the data packet can be performed; in addition, the multiple data processing channels are composed of the multi-protocol matching action table, so it is also the core of the data packet processing mechanism.
[0064] for example Figure 7 The multi-protocol matching action table shown in FIG. 1 occupies 9*16 bits of storage space, the first 8 bits store a longest prefix mask value, the middle 8*16 bits store the routing field, and the last 8 bits are used to store the port number of the output port.
[0065] If the current entry is an IPv4 routing entry, the longest prefix mask value will be set to 32, the middle 2*16 bits will be set to the 32-bit IPv4 destination address, the middle 6*16 bits will be set to 0, and the last 8 bits will be set to the output port number. For example, if the IPv4 address is 10.118.0.2 and the output port is 3, the corresponding entry is Figure 7 The first entry in the table.
[0066] If the current table entry is an IPv6 routing table entry, the longest prefix mask value will be set to 128, the middle 8*16 bits will be set to the IPv6 destination address, and the last 8 bits will be set to the output port number. For example, the IPv6 address is CDCD:910A:2222:5498:8475:1111:3900:2020, and the output port is 4, then the corresponding table entry is Figure 7 The second entry in the table.
[0067] If the current table entry is an NDN routing table entry, the longest prefix mask value will be set to the number of its name components * 16, the middle number of name components * 16 bits will be set to the mapping value of the NDN name, the middle (8-number of name components) * 16 bits will be set to 0, and the last 8 bits will be set to the output port number 2, then the corresponding table entry is Figure 7 The third entry in the table.
[0068] See also Figure 2 The processor 12 includes an interaction module 123, which is connected to multiple data processing channels 1221, 1222, 1223, and 1224; the role of the interaction module 123 is to convert the protocol type information of the packet header data according to the matched data processing channel, and / or update the forwarding path label information, so as to obtain new packet header data. Since each data processing channel obtains the execution action of the data packet after configuring the data packet according to the multi-protocol matching action, the interaction module 123 can further interact with the data packet according to the protocol conversion operation in the execution action and / or the label update operation.
[0069] It should be noted that the purpose of the interaction module 123 performing the protocol conversion operation is to realize cross-protocol process communication between different data processing channels, and to solve the interaction demand problem of the coupled protocol after data channel processing by supporting the conversion of protocol type information.
[0070] In one case, when the interaction module 123 determines that the execution action indicates an operation of protocol conversion, the protocol type included in the packet header data is replaced with a preset target network protocol to achieve conversion of the protocol type information.
[0071] In another case, when the interaction module 123 determines to perform an action indicating label update operation, it uses a unique characteristic matrix of other network transmission devices that the data packet passes through and a custom vector inserted into the packet header data to perform mathematical operations to update the forwarding path label information.
[0072] In another case, when the interaction module 123 determines to perform an action indicating a protocol conversion and a label update, the protocol type contained in the packet header data is replaced by the target network protocol, and mathematical operations are performed using the unique characteristic matrix of other network transmission devices through which the data packet passes and the custom vector inserted in the packet header data.
[0073] It should be noted that the purpose of the interactive module 123 performing label update is to compress and record the actual forwarding path information of the data packet through multiple network transmission devices (such as switches) through the label value. After the data packet enters the data layer composed of multiple switches, the ingress switch will execute the label insertion algorithm to insert the initial label value (i.e., the custom vector) into the header data of the data packet. As the data packet is forwarded in the data layer, the label value will be updated by the switch through the label update algorithm, that is, the unique feature matrix of the switch and the custom vector inserted in the header data are mathematically operated; when the data packet reaches the end of the path, the egress switch will remove the label value and report it to the upper control layer, so that the controller in the control layer can understand the actual forwarding path of the data packet in each switch.
[0074] It can be understood that the interaction module 123 realizes the cross-protocol process communication between different data processing channels, and solves the interactive demand problem of the coupling protocol after the data is processed by supporting the conversion of the protocol type information, so that the data packet can be converted between different protocol types, and the overall interactive coupling relationship is realized. The IP protocol is a unidirectional network protocol and does not face the transmission problem of different addresses, while other network protocols need to face the transmission problem of different addresses, so the packet header data of different protocol data packets can be converted, supplemented and / or deleted through the interaction module 123. For example, for the data packets of the orchestration protocol and the transmission protocol, each has a channel. After the orchestration protocol makes a decision task and "pairs" with the network transmission device such as a router, it informs the transmission protocol to initiate the relevant "data transmission" to the "selected" router node; during this period, the orchestration protocol needs to return the IP protocol address and other information of the transmission protocol to the task demander. Under the constraints of the timing sequence, after the task party's data "roams" to the "selected" router, the calculation is completed, and the task completion status needs to be returned; finally, the calculation result is returned from the "transmission protocol" or returned from the orchestration protocol to the "requester". The above method can realize protocol conversion, supplementation and / or deletion of header data of data packets with different protocols, thereby forming new header data.
[0075] See also Figure 2 The processor 12 includes a reassembly module 124, which is connected to the interaction module 123 and has the function of reassembling new packet header data and packet body data and transmitting the reassembled data packet.
[0076] In a specific embodiment, the reassembly module 124 splices the new header data and the body data to obtain a spliced reassembled data packet; then, the reassembly module 124 outputs the reassembled data packet from the network port 11 to transmit the reassembled data packet over the network. It should be noted that the reassembly module 124 can be regarded as a data packet reassembly plug-in. When the data packet passes through a specific data processing channel and an interaction module, these two modules will involve the disassembly and modification of the data packet. Therefore, when the data packet is forwarded, it is necessary to reassemble the data packet through the data packet reassembly plug-in and then forward it.
[0077] In this embodiment, the other network transmission devices 1 involved may be switches, routers, gateways or network cards. As long as they can connect to the Internet and process data packets, the specific hardware type is not limited.
[0078] It can be understood that the network transmission equipment in this embodiment can parse data packets of multiple protocols and further support the forwarding tasks of data packets of multiple protocols. The advantage of processing data packets of different protocol types in different channels is to ensure that different data packets go their own way, reduce congestion in the data processing process, and also make the processing logic clearer.
[0079] It can be understood that the present embodiment solves the problem of interaction requirements of coupled protocols after data packets are processed in different channels. Data packets can realize interactive conversion on protocols, and they are coupled as a whole. Once a router that accepts a computing task is determined, the router can realize the transfer and sending of data packets through protocol conversion, thereby avoiding the occurrence of congested transmission of many data packets on a single router.
[0080] Embodiment 2
[0081] Based on the network transmission device disclosed in the first embodiment, this embodiment discloses a data transmission method supporting multiple protocols, which is mainly applied to the processor 12 .
[0082] In this embodiment, please refer to Figure 3 The data transmission method may include steps 210-260, which are described below respectively.
[0083] Step 210: Obtain a data packet of any protocol type among multiple protocol types. Figure 1 and Figure 2 The parsing module 121 in the processor 12 obtains a data packet with a certain protocol type from the network port 11. The data packet can have any protocol type among the TCP / IP protocol, NDN protocol, computing power orchestration protocol, blockchain protocol, cryptographic protocol, QUIC protocol, and DCCP protocol.
[0084] Step 220, decompose the data packet to obtain packet header data and packet body data.
[0085] for example Figure 1 and Figure 2 After the parsing module 121 obtains a data packet of any one of the multiple protocol types from the network port 11, the parsing module 121 needs to decompose the data packet to obtain the packet header data and the packet body data.
[0086] Step 230: parse the packet header data to obtain protocol type information and / or forwarding path label information.
[0087] Since the packet header data is the rule-type information of data transmission, the parsing module 121 is required to further parse the packet header data to obtain the protocol type information and / or the forwarding path label information. In one case, in order to obtain the protocol type information in the packet header data, the parsing module 121 can parse the packet header data according to the preset finite state machine, thereby obtaining the protocol type information of the packet header data. In another case, in order to obtain the forwarding path label information in the packet header data, the parsing module 122 can parse and obtain the custom vector inserted in the packet header data, and obtain the forwarding path label information of the packet header data according to the custom vector.
[0088] It can be understood that since the data packet may be of any protocol type, the protocol type information may include one or more of the TCP / IP protocol, NDN protocol, computing power orchestration protocol, blockchain protocol, cryptographic protocol, QUIC protocol, and DCCP protocol.
[0089] Step 240: Select a matching data processing channel from multiple data processing channels according to the protocol type information.
[0090] This enhances data transmission and processing efficiency, while supporting the forwarding of multiple protocol data packets. Figure 2 In the figure, multiple data processing channels 1221, 1222, 1223, and 1224 are matched for multiple different protocol type information, and these data processing channels are used to transmit and process data packets of specific protocol types respectively. Different data processing channels will process different types of data packets. For example, data packets of IPv4 protocol type will enter the data processing channel matching the IPv4 protocol for processing, data packets of IPv6 protocol type will enter the data processing channel matching the IPv6 protocol for processing, data packets of NDN protocol type will enter the data processing channel matching the NDN protocol for processing, data packets of orchestration protocol type will enter the data processing channel matching the orchestration protocol for processing, data packets of blockchain protocol type will enter the data processing channel matching the blockchain protocol for processing, and data packets of other protocol types will enter the data processing channels matching other protocols for processing.
[0091] For each data processing channel, not only can data packets of matching protocol types be transmitted, but also actions can be configured for the data packets. Figure 2 , the data packet is preprocessed through the data processing channel matching the protocol type information to obtain the execution action of the data packet. For the data processing channel matching a certain protocol type information, when processing the transmitted data packet, it is necessary to call the corresponding multi-protocol matching action table, and then configure the data packet according to the multi-protocol matching action table to obtain the execution action for the data packet.
[0092] It should be noted that the multi-protocol action matching table here is used to address the prefix mask of the network, the routing field of the device and the port number of the output end; the execution action here includes the operation of protocol conversion and / or the operation of label update. For more information about the multi-protocol matching action table, please refer to Figure 7 The three items in the table and the related descriptions in Example 1 are not repeated here.
[0093] Step 250: convert the protocol type information of the packet header data according to the matched data processing channel, and / or update the forwarding path label information to obtain new packet header data.
[0094] for example Figure 2 Since each data processing channel obtains the execution action of the data packet after configuring the data packet according to the multi-protocol matching action, the interaction module 123 can then further interact with the data packet according to the protocol conversion operation and / or label update operation in the execution action. In one embodiment, the interaction module 123 converts the protocol type information of the packet header data in the data packet according to the execution action, and / or updates the forwarding path label information to obtain new packet header data.
[0095] In case one, when the interactive module 123 determines to perform an action indicating a protocol conversion operation, the protocol type contained in the packet header data is replaced by the preset target network protocol to achieve the conversion of the protocol type information. In case two, when the interactive module 123 determines to perform an action indicating a label update operation, the unique characteristic matrix of other network transmission devices that the data packet passes through is used to perform mathematical operations with the custom vector inserted in the packet header data to achieve the update of the forwarding path label information. In case three, when the interactive module 123 determines to perform an action indicating a protocol conversion and a label update operation, the protocol type contained in the packet header data is replaced by the target network protocol, and the unique characteristic matrix of other network transmission devices that the data packet passes through is used to perform mathematical operations with the custom vector inserted in the packet header data.
[0096] Step 260: reassemble the new packet header data and packet body data, and transmit the reassembled data packet. Figure 1 and Figure 2 The reassembly module 124 in the processor 12 splices the new packet header data and the packet body data to obtain a spliced reassembled data packet; then, the reassembly module 124 outputs the reassembled data packet from the network port 11 to transmit the reassembled data packet over the network.
[0097] In this embodiment, the above step 230 mainly involves the process of parsing the data packet header, wherein parsing the packet header data to obtain the protocol type information may specifically include steps 231-233, for specific reference. Figure 4 , which are explained as follows respectively.
[0098] Step 231, identifying multiple custom fields in the packet header data according to the finite state machine, where the multiple custom fields include an ehtertype field, an ip_proto field, and a tl_code field.
[0099] Step 232: determine, based on the ehtertype field, whether the protocol type information of the packet header data belongs to the IPv6 protocol, the IPv4 protocol, or the NDN protocol.
[0100] Step 233, when it is determined that the protocol type of the packet header data belongs to the IPv6 protocol or the IPv4 protocol, the protocol type information of the data packet is determined to be the UDP type or the TCP type according to the ip_proto field; or, when it is determined that the protocol type of the packet header data belongs to the NDN protocol, the protocol type information of the data packet is determined to be the interest packet transmission type or the data packet transmission type according to the tl_code field.
[0101] In a specific embodiment, the Figure 6The illustrated finite state machine further explains steps 231-233. Data packets of different protocol types are encapsulated into Ethernet frames, so the parsing module 121 first parses the Ethernet frame header to obtain the header data, and the Ethernet frame header contains multiple custom fields. In the first case, if the value of the ethertype field of the Ethernet frame is 0x86DD, the protocol type inserted in the current header data is the IPv6 protocol; if the value of the ethertype field is 0x8000, the protocol type inserted in the current header data is the IPv4 protocol; after identifying the IPv4 protocol and the IPv6 protocol, the value of the ip_proto field will be judged. If the value of the ip_proto field is 0x0017, the protocol type of the current data packet is the UDP type; if the value of the ip_proto field is 0x0006, the protocol type of the current data packet is the TCP type. In the second case, if the value of the ethertype field of the Ethernet frame is 0x9999, the protocol type inserted in the current header data is the NDN protocol; after the NDN protocol is identified, the value of the tl_code field is obtained and then judged. If the value of tl_code is 0x05, the current data packet should be an NDN interest packet in terms of protocol type; if the value of tl_code is 0x06, the current data packet should be an NDN data packet in terms of protocol type; of course, for both the NDN interest packet and the NDN data packet, the data identifier can be further judged by the tlv_type field. When tlv_type=0x08, the NDN interest packet (or NDN data packet) has an NDN Nonce identifier, and when tlv_type=0x07, the NDN interest packet (or NDN data packet) has an NDN Name identifier, thereby completing the identification of the specific type. It can be understood that after the parsing module 121 parses and identifies the data packet, the protocol type of the data packet will be recorded in the metadata, and the protocol type in the metadata will be called in the next processing process.
[0102] In this embodiment, the above step 250 mainly involves the process of protocol type conversion and label update, so please refer to Figure 5 , the step 250 may specifically include steps 251-257, which are described as follows.
[0103] Step 251, obtain a multi-protocol matching action table according to the data processing channel matching the protocol type information. The multi-protocol action matching table is used to address the prefix mask of the network, the routing field of the device and the port number of the output end.
[0104] Step 252, configure the data packet according to the multi-protocol matching action table to obtain the execution action for the data packet. The execution action here includes the operation of protocol conversion and / or the operation of label update. After step 252, step 253 and step 254 are entered simultaneously.
[0105] Step 253, determine whether the execution action is an operation indicating protocol conversion, if so, proceed to step 255, if not, proceed to step 257.
[0106] Step 254, determine whether the execution action is an operation to indicate label update, if so, proceed to step 256, if not, proceed to step 257.
[0107] Step 255, when executing the operation of performing the action indication protocol conversion, the protocol type contained in the packet header data is replaced with the preset target network protocol to realize the conversion of the protocol type information.
[0108] It should be noted that the purpose of implementing the conversion of protocol type information is to realize cross-protocol process communication between different data processing channels. By supporting the conversion of protocol type information, the interactive demand problem of coupled protocols after data channel processing is solved, so that data packets can be converted between different protocol types, thereby realizing the overall interactive coupling relationship. The IP protocol is a unidirectional network protocol and does not face the transmission problem of different addresses, while other network protocols need to face the transmission problem of different addresses. Therefore, the header data of different protocol data packets can be converted, supplemented and / or deleted through the interactive module 123, thereby forming new header data.
[0109] Step 256, when executing the action indication label update operation, a mathematical operation is performed using the unique characteristic matrix of other network transmission devices that the data packet passes through and the custom vector inserted into the packet header data to update the forwarding path label information.
[0110] It should be noted that the purpose of updating the forwarding path label information is to compress and record the actual forwarding path information of the data packet through multiple network transmission devices (such as switches) through the label value. After the data packet enters the data layer composed of multiple switches, the ingress switch will execute the label insertion algorithm to insert the initial label value (i.e., the custom vector) into the header data of the data packet. As the data packet is forwarded in the data layer, the label value will be updated by the switch through the label update algorithm, that is, the unique feature matrix of the switch and the custom vector inserted in the header data are mathematically operated; when the data packet reaches the end of the path, the egress switch will remove the label value and report it to the upper control layer, so that the controller in the control layer can understand the actual forwarding path of the data packet in each switch.
[0111] Step 257 is entered when the execution action does not indicate a protocol conversion operation or a label update operation. No operation (ie, no operation) may be performed so as to be ready to enter the execution action judgment of the next data packet at any time.
[0112] Technicians can understand that when the execution action indicates both protocol conversion and label update operations, on the one hand, it is necessary to use the target network protocol to replace the protocol type contained in the packet header data, and on the other hand, it is necessary to use the unique characteristic matrix of other network transmission devices through which the data packet passes and the custom vector inserted in the packet header data to perform mathematical operations.
[0113] Embodiment 3
[0114] Based on the network transmission device disclosed in the first embodiment and the data transmission method supporting multiple protocols disclosed in the second embodiment, this embodiment discloses a heterogeneous fusion network.
[0115] In this embodiment, reference Figure 8 ,The heterogeneous converged network mainly includes the data layer 3 and the control layer 4, which are described below.
[0116] The data layer 3 includes multiple network transmission devices connected in a topological manner, each of which can support multiple communication protocols for data forwarding. Each network transmission device included in the data layer 3 can refer to Figure 1 and Figure 2 The structure in the network transmission device can be a switch, a router, a gateway or a network card.
[0117] The control layer 4 is connected to the network transmission equipment in the data layer 3 and is used to control the data forwarding path of the network transmission equipment.
[0118] exist Figure 8 In the example, the multiple network transmission devices in the data plane 3 can be multiple switches connected in topology, such as switches 31, 32, 33, 34, 35, and 36. A controller 41 is deployed in the control plane 4 and connected to each switch. The controller 41 in the control plane 4 is used to control the data forwarding path of each switch in the data plane 3. The purpose of each switch in the data plane 3 is to provide a network path between different hosts. Figure 8 Among the hosts 51, 52, 53, and 54, host 51 is connected to the switch 31 for communication, host 52 is connected to the switch 34 for communication, host 53 is connected to the switch 35 for communication, and host 54 is connected to the switch 36 for communication. Each host relies on each switch to achieve network interconnection.
[0119] for example Fig. 9, each switch in the data layer presents a topological connection relationship. Some switches serve as entry switches. The entry switches access the Internet and receive data packets generated by user devices (i.e., hosts, such as cameras, mobile terminals, vehicle-mounted terminals, etc.) in the Internet. Of course, ordinary data packets can be sent to the entry switches one by one according to the data packet transmission queue, and data packets for executing computing power (i.e., computing power packets) can be sent to the entry switches one by one according to the computing power task queue. In addition, the data packets are forwarded through each switch at the data layer. During this period, each switch may decompose, parse, transmit through specific channels, convert protocols, update labels, reassemble, etc., and then the egress switch sends the data packets to the wide area network for transmission to other user devices, or the egress switch sends the data packets (such as computing power packets) to the cloud computing server to perform cloud computing.
[0120] In this embodiment, for data layer 3, each network transmission device therein can obtain data packets of any one protocol type among multiple protocol types forwarded by other connected network transmission devices, and obtain packet header data and packet body data by decomposing the data packets; moreover, the network transmission device can parse the packet header data to obtain protocol type information and forwarding path label information, select a matching data processing channel from multiple data processing channels according to the protocol type information, convert the protocol type information of the packet header data and update the forwarding path label information according to the matching data processing channel, to obtain new packet header data; in addition, the network transmission device can reassemble the new packet header data and packet body data, and transmit the reassembled data packet to the next network transmission device on the forwarding path.
[0121] In this embodiment, Fig.10Indicates the communication connection relationship between any switch (such as switch 31) in the data layer 3 and the controller 41 in the control layer. The controller 41 can send a detection packet to the switch 31 to actively detect the data forwarding path of each switch in the data layer 3 in order to verify the consistency of the path. The switch 31 can also actively receive data packets of a preset protocol type forwarded by other switches. The parsing module in the switch 31 decomposes the data packet to obtain the header data and the body data, and then parses the header data according to the preset finite state machine to obtain the protocol type information of the header data; and / or, parses to obtain the custom vector inserted in the header data, and obtains the forwarding path label information of the header data according to the custom vector. The data processing channel in the switch 31 that matches the protocol type information preprocesses the data packet, that is, obtains the execution action of the data packet through matching action processing. The interactive module in the switch 31 converts the protocol type information of the header data in the data packet according to the execution action, and / or updates the forwarding path label information to obtain new header data; in the protocol conversion process, the protocol type contained in the header data is replaced by the preset target network protocol to achieve the conversion of the protocol type information; in the label update process, the unique characteristic matrix of other network transmission devices passed by the data packet and the custom vector inserted in the header data are used to perform mathematical operations, and the forwarding path label information is updated through the processing of the update algorithm, and the updated forwarding path label information can be reported to the controller 41. Since the new header data is obtained, the new header data and the packet body data can be reorganized, and then the reorganized data packet is output.
[0122] For each switch that supports multiple protocols in the data layer 3, the switch can refer to the processing processes such as data packet decomposition, analysis, specific channel transmission, protocol conversion, label update, and reorganization. Fig.11. The parser (i.e., parsing module) is used to receive data packets of any protocol type in the multi-protocol types. The protocol type information of the data packet can be obtained through decomposition and parsing, such as which protocol type of data packet it is among NDN data packets, NDN interest packets, IPv4 data packets, and IPv6 data packets; the use of multiple data processing channels is a key mechanism for the switch to support multi-protocol data processing. For example, the data processing channel matching the IPv4 protocol is used to transmit and configure IPv4 data packets, the data processing channel matching the IPv6 protocol is used to transmit and configure IPv6 data packets, and the data processing channel matching the NDN protocol is used to transmit and configure NDN interest packets and NDN data packets. Each data processing channel is configured by a multi-protocol matching action table, so a general multi-protocol matching action table can be used to support the processing of NDN interest packets (such as Interest-pkt), NDN data packets (such as Data-pkt), IPv4 data packets (such as IPv4-pkt), and IPv6 data packets (such as IPv6-pkt). The multi-protocol matching action table can be specifically divided into a FIB table and a PIT table, wherein the FIB table can support the forwarding of both NDN interest packets and IPv4 and IPV6 data packets, and each row in the PIT table corresponds to a PIT code and can support the forwarding of NDN data packets; in addition, the content storage area CS is used to cache received NDN data packets.
[0123] exist Fig.11 In the , for the NDN protocol, the NDN data processing channel for processing NDN data packets is specifically defined. For example, the NDN data processing channel consists of two matching action tables, namely the matching action table PIT and the matching action table NDN-FIB. Each interest packet supporting the NDN protocol will first pass through the content storage area CS, and then pass through the matching action table PIT and the matching action table NDN-FIB. Each data packet supporting the NDN protocol will first pass through the matching action table PIT, and then pass through the content storage area CS. For the IPv4 protocol, the IPv4 data processing channel for processing IPv4 data packets is specifically defined. For example, the IPv4 data processing channel consists of the matching action table IPv4-FIB, and each data packet supporting the IPv4 protocol will be processed by the matching action table IPv4-FIB. For the IPv6 protocol, the IPv6 data processing channel for processing IPv6 data packets is specifically defined. For example, the IPv6 data processing channel consists of the matching action table IPv6-FIB, and each data packet of the IPv6 protocol will be processed by the matching action table IPv6-FIB. Of course, to simplify the description, a general multi-protocol matching action table can be used to support the processing of NDN interest packets, NDN data packets, IPv4 data packets, and IPv6 data packets at the same time. The general multi-protocol matching action table can be specifically referred to in Figure 7 .
[0124] exist Fig.11 In the process, since the parser (i.e., parsing module) in the switch decomposes and parses the data, not only the header data and body data of the data packet can be obtained, but also the protocol type information and forwarding path label information of the header data can be obtained. When the data packet passes through the matching data processing channel, the data processing channel matching the protocol type information will pre-process the data packet, that is, the execution action of the data packet is obtained through matching action processing. Afterwards, the interactive module in the switch will convert the protocol type information of the header data in the data packet according to the execution action, and / or update the forwarding path label information to obtain new header data. It can be understood that in the protocol conversion process, the switch needs to replace the protocol type contained in the header data with the preset target network protocol to realize the conversion of the protocol type information; in the label update process, the switch needs to use the unique feature matrix of other network transmission devices passed by the data packet and the custom vector inserted in the header data to perform mathematical operations, and realize the update of the forwarding path label information through the update algorithm. At this time, the updated forwarding path label information can be reported. Next, the reverse parser (i.e., the reassembly module) in the switch reassembles the new packet header data and the original packet body data to obtain a new data packet, i.e., the reassembled data packet; of course, the reassembly module uses the data packet transmission interface to send the reassembled data packet to the network for continued forwarding, or it can directly discard the data packet and enter the next cycle, in which the parser will process the next data packet.
[0125] Next, the label update process of the data packet will be explained from the perspective of data layer 3. In data layer 3, the switch that forwards the data packet for the first time on the actual path is defined as the ingress switch, the switch that forwards the data packet for the last time on the actual path is defined as the egress switch, and the remaining switches on the actual path are defined as intermediate switches. Data layer 3 uses the ingress switch on the actual path to insert the initial label value into the data packet and reports the initial label value to control layer 4. For example, the initialization label value may be composed of a two-dimensional random vector (v1, v2) and a 32-bit modulus p, where the two-dimensional random vector may contain two 32-bit integers. The initial label value is used for subsequent label update calculations. Data layer 3 uses the intermediate switches and egress switches on the actual path to update the initial label value of the data packet. For example, the controller 41 may assign a matrix address to each switch and send it to the corresponding switch, so that each switch may have a unique 2*2 feature matrix (expressed by M i ), and the four values in the feature matrix are all 32-bit integers. i Indicates), the switch S iThe label value in the data packet will be compared with the switch S i The characteristic matrix M i Matrix multiplication is performed to obtain a new label value to replace the original label value. For example, the label value update process refers to the following formula p = p*det(M i )、(v 2i+1 ,v 2i+2 )=(v 2i-1 ,v 2i )*M i %p, where p is the modulus in the label value, det represents the matrix determinant, (v 2i+1 ,v 2i+2 )、(v 2i-1 ,v 2i ) denotes a two-dimensional random vector, the subscript i denotes the serial number of the switch, and % denotes a modulo operation. Of course, the data plane 3 can also form corresponding actual forwarding information based on the label value updated by any switch in the intermediate switch and the egress switch on the actual path and the header data of the data packet and report it to the controller 41 in the control plane 4.
[0126] In a specific embodiment, the label update process is as follows: a) For the intermediate switch on the actual path, the intermediate switch performs a matrix multiplication operation on its own feature matrix and the initial label value inserted in the data packet to obtain a first label value. b) For the egress switch on the actual path, the egress switch performs a matrix multiplication operation on its own feature matrix and the first label value to obtain a second label value. c) In the matrix multiplication operation, the feature matrix involved in the operation is subjected to a modulus calculation (such as M i %p) to prevent matrix multiplication overflow, and the first label value and the second label value are both updated label values, and both need to form actual forwarding information together with the packet header data.
[0127] It should be noted that in this embodiment, the heterogeneous converged network means that there are multiple types of communication protocols at the bottom layer of the network. For example, a network based on the TCP / IP protocol and a network based on the NDN protocol are two heterogeneous networks. With the emergence of underlying network virtualization, NFV, and programmable interaction technologies, the network is more open, and the functions it needs to undertake are becoming more and more diversified and integrated. Most traditional network protocols only complete the data transmission function. The newly emerging network layer protocols have gradually added direct docking, allocation and orchestration of computing tasks (computing power network protocols), identity authentication and data privacy protection (taking blockchain protocols as an example), and advanced types of protocols such as delay-sensitive protocols (TSN). These have put forward new application requirements and scenarios for the processing technology of new programmable routers. From the perspective of feature types, the newly emerged network underlying protocols can be roughly divided into: stateless protocols (such as UDP), simple state protocols (such as TCP which only maintains connection-oriented transmission status, such as NDN which adds data identification to distinguish repeated status, data relay status and link interface status), and complex state protocols (such as computing network orchestration protocol, protocol packets can interact across layers, and the semantic function of protocol packets is not only the interaction at the data level, but also needs to interact with the device status, and also has the function of interacting with the protocol packets in terms of timing). This has brought about new scenarios and new challenges in the processing methods of router devices. The technical solution of this application discusses the fusion processing technology of heterogeneous fusion networks using network protocols such as TCP / IP protocol, NDN protocol, and computing task orchestration protocol as examples. Of course, this fusion processing technology can be further extended to heterogeneous fusion networks based on other types of network communication protocols.
[0128] Technicians can understand that other types of network communication protocols may be Wifi, Bluetooth, 5G / 6G; in addition, other types of protocols with control interaction semantics may include blockchain, TSN, token protocols, DCN (Data Center Network Protocol), network layer probe protocols, telemetry protocols, etc.
[0129] Technicians can understand that the technical solution in this embodiment can flexibly support different network protocols. Support for new network protocols will not affect its support for existing network protocols. It only needs to configure more data processing channels, that is, incrementally modify the protocol parsing plug-in and protocol processing channel on the original basis, and add new state jumps to the new protocol on the finite state machine, and then propose new protocol processing channels for the new protocol. In addition, the technical solution can be applied to network transmission equipment such as routers, thereby providing a feasible technical route for the deployment of heterogeneous fusion networks, which can support the seamless integration of protocols between IP networks, NDN networks, computing power networks, and transport layer distributed coordination and control networks, and can realize the "progressive" upgrade requirements of the network.
[0130] Embodiment 4:
[0131] On the basis of the data transmission method disclosed in the second embodiment, this embodiment discloses a network transmission device, and the network transmission device 6 includes a memory 61 and a processor 62 .
[0132] In this embodiment, the memory 61 and the processor 62 are the main components of the network transmission device 6. Of course, the network transmission device 6 can also include some functional modules connected to the processor 62. For details, please refer to the above embodiment 1, which will not be described in detail here.
[0133] The memory 61 can be used as a computer-readable storage medium, and is used here to store a program, which can be a program code corresponding to the data transmission method supporting multiple protocols in the second embodiment.
[0134] The processor 62 is connected to the memory 61 and is used to execute the program stored in the memory 61 to implement the data transmission method disclosed in the above embodiment 2, for example Figure 3 It should be noted that the functions implemented by the processor 62 can refer to the processor 12 in the first embodiment, and will not be described in detail here.
[0135] Those skilled in the art will appreciate that all or part of the functions of the various methods in the above-mentioned embodiments can be implemented by hardware or by computer programs. When all or part of the functions in the above-mentioned embodiments are implemented by computer programs, the program can be stored in a computer-readable storage medium, and the storage medium can include: read-only memory, random access memory, disk, optical disk, hard disk, etc., and the program is executed by a computer to implement the above-mentioned functions. For example, the program is stored in the memory of the device, and when the program in the memory is executed by the processor, all or part of the above-mentioned functions can be implemented. In addition, when all or part of the functions in the above-mentioned embodiments are implemented by computer programs, the program can also be stored in a storage medium such as a server, another computer, disk, optical disk, flash disk or mobile hard disk, and can be downloaded or copied and saved in the memory of the local device, or the system of the local device is updated, and when the program in the memory is executed by the processor, all or part of the functions in the above-mentioned embodiments can be implemented.
[0136] The above specific examples are used to illustrate the present application, which is only used to help understand the technical solution of the present application and is not intended to limit the present application. For technicians in the relevant technical field, according to the idea of the present application, several simple deductions, deformations or substitutions can also be made.
Claims
1. A data transmission method supporting multiple protocols, characterized in that: include: Get data packets of any protocol type among multiple protocol types; Decomposing the data packet to obtain packet header data and packet body data; Parsing the packet header data to obtain protocol type information and / or forwarding path label information; Selecting a matching data processing channel from a plurality of data processing channels according to the protocol type information; Converting the protocol type information of the packet header data according to the matched data processing channel, and / or updating the forwarding path label information, to obtain new packet header data; The new packet header data and the packet body data are reassembled, and the reassembled data packet is transmitted.
2. The data transmission method according to claim 1, characterized in that: The parsing of the packet header data to obtain protocol type information and / or forwarding path label information includes: Parsing the packet header data according to a preset finite state machine to obtain protocol type information of the packet header data; and / or, The custom vector inserted in the packet header data is obtained by parsing, and the forwarding path label information of the packet header data is obtained according to the custom vector.
3. The data transmission method according to claim 2, characterized in that: The protocol type information includes one or more of the TCP / IP protocol, the NDN protocol, the computing power orchestration protocol, the blockchain protocol, the cryptographic protocol, the QUIC protocol, and the DCCP protocol.
4. The data transmission method according to claim 2, characterized in that: The step of parsing the packet header data according to a preset finite state machine to obtain the protocol type information of the packet header data includes: Identify multiple custom fields in the packet header data according to the finite state machine, wherein the multiple custom fields include an ehtertype field, an ip_proto field, and a tl_code field; Determine, according to the ehtertype field, whether the protocol type information of the packet header data belongs to the IPv6 protocol, the IPv4 protocol, or the NDN protocol; In the case of the IPv6 protocol or the IPv4 protocol, judging, according to the ip_proto field, that the protocol type information of the data packet is a UDP type or a TCP type; In the case of the NDN protocol, the protocol type information of the data packet is determined according to the tl_code field to be an interest packet transmission type or a data packet transmission type.
5. The data transmission method according to claim 1, characterized in that: The converting of the protocol type information of the packet header data according to the matched data processing channel and / or updating of the forwarding path label information to obtain new packet header data includes: Preprocessing the data packet through a data processing channel matching the protocol type information to obtain an execution action for the data packet; According to the execution action, the packet header data in the data packet is converted with respect to the protocol type information, and / or the forwarding path label information is updated to obtain new packet header data.
6. The data transmission method according to claim 5, characterized in that: The preprocessing of the data packet through a data processing channel matching the protocol type information to obtain an execution action of the data packet includes: Obtaining a multi-protocol matching action table according to a data processing channel matching the protocol type information; Configure the data packet according to the multi-protocol matching action table to obtain an execution action for the data packet; The multi-protocol action matching table is used to perform address marking on the prefix mask of the network, the routing field of the device and the port number of the output end; the execution action includes the operation of protocol conversion and / or the operation of label update.
7. The data transmission method according to claim 6, characterized in that: The converting of the protocol type information of the packet header data in the data packet according to the execution action and / or updating of the forwarding path label information to obtain new packet header data includes: When the execution action indicates an operation of protocol conversion, the protocol type contained in the packet header data is replaced by a preset target network protocol to achieve conversion of protocol type information; When the execution action indicates an operation of label update, a mathematical operation is performed using a unique characteristic matrix of the network transmission device through which the data packet passes and a custom vector inserted in the packet header data to implement an update of the forwarding path label information; When the execution action indicates the operation of protocol conversion and label update, the protocol type contained in the packet header data is replaced by the target network protocol, and mathematical operations are performed using the unique characteristic matrix of the network transmission device through which the data packet passes and the custom vector inserted in the packet header data.
8. The data transmission method according to claim 1, characterized in that: The reorganizing the new packet header data and the packet body data, and transmitting the reorganized data packet, comprises: Splicing the new packet header data and the packet body data to obtain a spliced recombined data packet; The reassembled data packet is output from a preset network port to perform network transmission on the reassembled data packet.
9. A network transmission device, characterized in that: include: A network port, used to access the Internet and send and receive data packets transmitted by the Internet; A processor is connected to the network port and is used to obtain a data packet of any one of multiple protocol types from the network port, decompose the data packet to obtain header data and body data, parse the header data to obtain protocol type information and / or forwarding path label information, select a matching data processing channel from multiple data processing channels according to the protocol type information, convert the protocol type information of the header data according to the matching data processing channel, and / or update the forwarding path label information to obtain new header data, reassemble the new header data and the body data, and output the reassembled data packet from the network port.
10. The network transmission device according to claim 9, characterized in that: The processor includes a parsing module; The parsing module parses the packet header data according to a preset finite state machine to obtain protocol type information of the packet header data; and / or, The parsing module parses and obtains the custom vector inserted in the packet header data, and obtains the forwarding path label information of the packet header data according to the custom vector; The protocol type information includes one or more of the TCP / IP protocol, the NDN protocol, the computing power orchestration protocol, the blockchain protocol, the cryptographic protocol, the QUIC protocol, and the DCCP protocol.
11. The network transmission device according to claim 9, characterized in that: The parsing module parses the packet header data according to a preset finite state machine to obtain protocol type information of the packet header data, including: The parsing module identifies a plurality of custom fields in the packet header data according to the finite state machine, wherein the plurality of custom fields include an ehtertype field, an ip_proto field, and a tl_code field; The parsing module determines whether the protocol type information of the packet header data belongs to the IPv6 protocol, the IPv4 protocol, or the NDN protocol according to the ehtertype field; In the case of the IPv6 protocol or the IPv4 protocol, the parsing module determines whether the protocol type information of the data packet is a UDP type or a TCP type according to the ip_proto field; In the case of the NDN protocol, the parsing module determines, based on the tl_code field, that the protocol type information of the data packet is an interest packet transmission type or a data packet transmission type.
12. The network transmission device according to claim 9 or 10, characterized in that: The processor also includes a plurality of data processing channels respectively matched with a plurality of different protocol type information; A data processing channel among the multiple data processing channels that matches the protocol type information receives the data packet; The data processing channel matching the protocol type information retrieves the corresponding multi-protocol matching action table; The data processing channel matching the protocol type information configures the data packet according to the multi-protocol matching action table to obtain an execution action for the data packet; The multi-protocol action matching table is used to perform address marking on the prefix mask of the network, the routing field of the device and the port number of the output end; the execution action includes the operation of protocol conversion and / or the operation of label update.
13. The network transmission device according to claim 12, characterized in that: The processor also includes an interaction module; When the interaction module determines that the execution action indicates an operation of protocol conversion, the protocol type contained in the packet header data is replaced with a preset target network protocol to achieve conversion of protocol type information; When the interaction module determines the operation of executing the action indicating label update, a mathematical operation is performed using the unique characteristic matrix of other network transmission devices passed by the data packet and the custom vector inserted in the packet header data to implement the update of the forwarding path label information; When the interactive module determines that the execution action indicates the operation of protocol conversion and label update, the protocol type contained in the packet header data is replaced by the target network protocol, and mathematical operations are performed using the unique characteristic matrix of other network transmission devices through which the data packet passes and the custom vector inserted in the packet header data.
14. The network transmission device according to claim 9, characterized in that: The processor also includes a reorganization module; The reassembly module splices the new packet header data and the packet body data to obtain a spliced reassembled data packet; The reassembly module outputs the reassembled data packet from a network port to perform network transmission on the reassembled data packet.
15. The network transmission device according to claim 9, characterized in that: The network transmission device is a switch, a router, a gateway or a network card.
16. A heterogeneous fusion network, characterized in that: Including data layer and control layer; The data layer includes a plurality of network transmission devices connected in a topological manner, each of which can support a plurality of communication protocols for data forwarding; The control plane is connected to the network transmission equipment in the data plane, and is used to control the data forwarding path of the network transmission equipment through multiple protocol types; In the data layer, each of the network transmission devices can obtain data packets of any one of the multiple protocol types forwarded by other connected network transmission devices, and decompose the data packets to obtain header data and body data; the network transmission device can parse the header data to obtain protocol type information and forwarding path label information, select a matching data processing channel from multiple data processing channels according to the protocol type information, convert the protocol type information of the header data and update the forwarding path label information according to the matching data processing channel to obtain new header data; the network transmission device can reassemble the new header data and the body data, and transmit the reassembled data packet to the next network transmission device on the forwarding path.
17. A computer-readable storage medium, characterized in that: The medium stores a program, and the program can be executed by a processor to implement the data transmission method according to any one of claims 1 to 8.
