CN117441318A - Multi-protocol data transmission method and device, network and storage medium - Google Patents

Multi-protocol data transmission method and device, network and storage medium Download PDF

Info

Publication number
CN117441318A
CN117441318A CN202180098873.9A CN202180098873A CN117441318A CN 117441318 A CN117441318 A CN 117441318A CN 202180098873 A CN202180098873 A CN 202180098873A CN 117441318 A CN117441318 A CN 117441318A
Authority
CN
China
Prior art keywords
data
protocol
packet
packet header
type information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180098873.9A
Other languages
Chinese (zh)
Inventor
雷凯
伍楷舜
李伟
张良杰
张梅梅
张亚朋
何晟
易望
陈佩淑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peking University Shenzhen Graduate School
Kingdee Software China Co Ltd
Original Assignee
Peking University Shenzhen Graduate School
Kingdee Software China Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Peking University Shenzhen Graduate School, Kingdee Software China Co Ltd filed Critical Peking University Shenzhen Graduate School
Publication of CN117441318A publication Critical patent/CN117441318A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

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

Abstract

The application relates to a multi-protocol data transmission method and device, a network and a storage medium, wherein the data transmission method comprises the following steps: acquiring a data packet of any protocol type in the multiple protocol types, decomposing the data packet to obtain packet header data and packet body data, analyzing the packet header data to obtain protocol type information and/or forwarding path label information, selecting a matched 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, reorganizing new packet header data and packet body data, and transmitting the reorganized data packet. The technical scheme can forward the data packets of the conventional and heterogeneous protocol types, overcomes the problem of protocol compatibility, can be applied to a novel network architecture, and can solve the problem of interaction requirement of coupling protocols after data lane processing by converting protocol type information.

Description

Multi-protocol data transmission method and device, network and storage medium Technical Field
The present invention relates to the field of network communications technologies, and in particular, to a method and apparatus for transmitting multi-protocol data, a network, and a storage medium.
Background
With the development of computer networks and the openness brought by programmable technologies, more and more heterogeneous transmission protocols, such as an IP protocol, an NDN protocol, a QUIC protocol, a computing network transmission protocol, etc., need to be integrated and processed on network layer devices, but the respective transmission semantics are not the same, and different hardware devices are needed to transmit during forwarding.
At present, in related researches of the fusion of a TCP/IP network and an NDN network, the first thinking is to perform conversion between protocols by arranging gateway nodes so as to achieve the aim of network fusion; the second idea is to implement network integration by incremental deployment of programmable open switches supporting the coordination of software and hardware of different protocols. Regardless of which concept is used, there are problems in research and application.
For the case of setting up network nodes, one is to use HTTP to realize the fusion of two networks, while many similarities between NDN protocol and HTTP protocol in terms of protocol semantics are considered, a disadvantage is that HTTP is an application layer protocol, which tends to carry more semantic information, which may result in loss of part of information in the protocol conversion process. The two are based on TCP to realize two-network integration, two gateway nodes are arranged at the edge of the network, the two gateway nodes are respectively connected with a sending end and a receiving end of the TCP, and when the gateway nodes receive a TCP message sent by the sending end or the receiving end of the TCP, the gateway nodes can 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, the NDN protocol is a content-oriented protocol, and the multipath data transmission needs to be completed on a hop-by-hop basis; furthermore, the TCP protocol is a push procedure, and the NDN protocol is a pull procedure, which cannot achieve protocol matching.
For the case of incremental deployment of a programmable open switch, the NDN is completely separated from the IP, the NDN is no longer deployed over the IP, but is deployed over the ethernet, and forwarding and transmission of NDN packets are directly performed on the link layer; the method has the defects of high deployment difficulty, immature research in the field of TCP/IP and NDN network fusion at present and lack of necessary technical support.
Technical problem
The technical problem that this application mainly solves is: how to increase the multiprotocol processing capacity of the switch.
Technical solution
In order to solve the technical problems, the application provides a multi-protocol data transmission method and device, a network and a storage medium.
According to a first aspect, in one embodiment, a method for supporting multiprotocol data transmission is provided, including: acquiring a data packet of a preset protocol type; decomposing the data packet to obtain packet header data and packet body data; analyzing the packet header data to obtain protocol type information and/or forwarding path label information; selecting a matched data processing channel from a plurality of data processing channels according to the protocol type information; converting protocol type information and/or updating forwarding path label information according to the matched data processing channels to obtain new packet header data; and recombining the new packet header data and the packet body data, and transmitting the recombined data packet.
The step of analyzing the packet header data to obtain protocol type information and/or forwarding path label information includes: analyzing the packet header data according to a preset finite state machine to obtain protocol type information of the packet header data; and/or analyzing to obtain the custom vector inserted in the packet header data, and obtaining 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, algorithm orchestration protocol, blockchain protocol, cryptographic protocol, QUIC protocol, DCCP protocol.
The analyzing the packet header data according to a preset finite state machine to obtain protocol type information of the packet header data includes: identifying a plurality of custom fields in the packet header data according to the finite state machine, wherein the custom fields comprise an ehterype field, an ip_proto field and a tl_code field; judging which of an IPv6 protocol, an IPv4 protocol and an NDN protocol the protocol type information of the packet header data belongs to according to the ehtertype field; judging that the protocol type information of the data packet is UDP type or TCP type according to the ip_proto field under the condition of belonging to an IPv6 protocol or an IPv4 protocol; and under the condition of belonging to an NDN protocol, judging 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.
The step of converting the protocol type information and/or updating the forwarding path label information according to the matched data processing channel to obtain new packet header data comprises the following steps: preprocessing the data packet through a data processing channel matched with the protocol type information to obtain an execution action of the data packet; and carrying out conversion processing of protocol type information and/or updating processing of forwarding path label information on the packet header data in the data packet according to the execution action to obtain new packet header data.
The data packet is preprocessed through a data processing channel matched with the protocol type information, so that the execution action of the data packet is obtained, and the method comprises the following steps: obtaining a multi-protocol matching action table according to a data processing channel matched with the protocol type information; configuring the data packet according to the multi-protocol matching action table to obtain an execution action aiming at the data packet; the multi-protocol action matching table is used for carrying out address marking on a prefix mask of the network, a routing field of the equipment and a port number of an output end; the performing action includes an operation of protocol conversion, and/or an operation of tag update.
The performing, according to the performing action, conversion processing of protocol type information on header data in the data packet and/or updating processing of forwarding path label information to obtain new header data, including: when the operation of executing the action indication protocol conversion is performed, replacing the protocol type contained in the packet header data by using a preset target network protocol so as to realize the conversion of protocol type information; when the operation of executing the action indication label updating is performed, mathematical operation is performed by utilizing a unique feature matrix of the network transmission equipment through which the data packet passes and a custom vector inserted in the packet header data so as to update forwarding path label information; when the operations of the action indication protocol conversion and the label updating are executed, the protocol type contained in the packet header data is replaced by a target network protocol, and mathematical operation is carried out by using the unique feature matrix of the network transmission equipment through which the data packet passes and the custom vector inserted in the packet header data.
The reorganizing the new packet header data and the packet body data, and transmitting the reorganized data packet, including: splicing the new packet header data and the packet body data to obtain a spliced recombinant data packet; and outputting the recombined data packet from a preset network port so as to carry out network transmission on the recombined data packet.
According to a second aspect, in one embodiment there is provided a network transmission device comprising: the network port is used for accessing the Internet and receiving and transmitting data packets transmitted by the Internet; the processor is connected with the network port, and is used for acquiring a data packet of a preset type from the network port, decomposing the data packet to obtain packet header data and packet body data, analyzing the packet header data to obtain protocol type information and/or forwarding path label information, selecting a matched 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 and/or updating the forwarding path label information according to the matched data processing channel to obtain new packet header data, reorganizing the new packet header data and the packet body data, and outputting the reorganized data packet from the network port.
The processor comprises an analysis module; the analysis module analyzes the packet header data according to a preset finite state machine to obtain protocol type information of the packet header data; and/or the analysis module analyzes and obtains the 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, algorithm orchestration protocol, blockchain protocol, cryptographic protocol, QUIC protocol, DCCP protocol.
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 the parsing module comprises: the parsing module identifies a plurality of custom fields in the packet header data according to the finite state machine, wherein the custom fields comprise an ehterype field, an ip_proto field and a tl_code field; the analysis module judges which protocol type information of the packet header data belongs to an IPv6 protocol, an IPv4 protocol and an NDN protocol according to the eht ertype field; under the condition of belonging to an IPv6 protocol or an IPv4 protocol, the analysis module judges that the protocol type information of the data packet is a UDP type or a TCP type according to the ip_proto field; and under the condition of belonging to an NDN protocol, the analysis module judges 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.
The processor also comprises a plurality of data processing channels respectively matched with a plurality of different protocol type information; a data processing channel matched with the protocol type information in the plurality of data processing channels receives the data packet; the data processing channel matched with the protocol type information calls a corresponding multi-protocol matching action table; the data processing channel matched with the protocol type information configures the data packet according to the multi-protocol matching action table to obtain an execution action aiming at the data packet; the multi-protocol action matching table is used for carrying out address marking on a prefix mask of the network, a routing field of the equipment and a port number of an output end; the performing action includes an operation of protocol conversion, and/or an operation of tag update.
The processor also comprises an interaction module; when the interaction module judges the operation of executing the action indication protocol conversion, a preset target network protocol is utilized to replace the protocol type contained in the packet header data so as to realize the conversion of protocol type information; when the interaction module judges the operation of executing the updating of the action indication label, mathematical operation is carried out by utilizing a unique characteristic matrix of the network transmission equipment through which the data packet passes and a custom vector inserted in the packet head data so as to realize the updating of forwarding path label information; and when judging the operation of executing the action indication protocol conversion and the label updating, the interactive module replaces the protocol type contained in the packet header data by utilizing a target network protocol, and performs mathematical operation by utilizing the unique feature matrix of the network transmission equipment through which the data packet passes and the custom vector inserted in the packet header data.
The processor further comprises a reorganization module; the reorganization module splices the new packet header data and the packet body data to obtain a spliced reorganized data packet; and the reorganization module outputs the reorganization data packet from a network port so as to carry out network transmission on the reorganization data packet.
The network transmission device is a switch, a router, a gateway or a network card.
According to a third aspect, an embodiment provides a heterogeneous converged network comprising a data plane and a control plane; the data plane comprises a plurality of network transmission devices which are topologically connected, and each network transmission device can support a plurality of communication protocols for data forwarding; the control layer is connected with the network transmission equipment in the data layer and is used for controlling the data forwarding path of the network transmission equipment; in the data layer, each network transmission device can acquire a data packet of a preset protocol type forwarded by other connected network transmission devices, and decompose the data packet to obtain packet header data and packet body data; the network transmission equipment can analyze the packet header data to obtain protocol type information and forwarding path label information, select a matched data processing channel from a plurality of data processing channels according to the protocol type information, and convert the protocol type information and update the forwarding path label information according to the matched data processing channel to obtain new packet header data; the network transmission device can recombine the new packet header data and the packet body data and transmit the recombined data packet to the next network transmission device on the forwarding path.
According to a fourth aspect, an embodiment provides a computer readable storage medium having stored thereon a program executable by a processor to implement the data transmission method described in the first aspect.
Advantageous effects
According to the above embodiment, a multi-protocol data transmission method and device, a network and a storage medium, wherein the data transmission method comprises the following steps: acquiring a data packet of any protocol type in the multiple protocol types, decomposing the data packet to obtain packet header data and packet body data, analyzing the packet header data to obtain protocol type information and/or forwarding path label information, selecting a matched 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, reorganizing the new packet header data and the packet body data, and transmitting the reorganized data packet. According to the technical scheme, the data packets of various protocol types can be analyzed, not only the IPv4/IPv6 protocol of the conventional same family is supported, but also NDN protocols, algorithm power arrangement protocols, block chain protocols and the like with special heterogeneous characteristics are effectively supported, the compatibility problem among the protocols is overcome, the novel SDN network has strong adaptability, the novel SDN network can be used for application scenes of a plurality of front-edge network frameworks, and particularly, matched channels are used for special processing for certain specific protocol types, so that forwarding tasks of various protocol data packets can be supported from the technical level; in a second aspect, the technical scheme can forward data packets of various different protocol types, has strong compatibility and small upgrading variation on the original device, not only selects a matched data processing channel according to protocol type information of the data packets, but also supports conversion of the protocol type information, thereby solving the problem of interaction requirement of coupling protocols after data lane separation processing, enabling the data packets to be converted among different protocol types and realizing an integral interaction coupling relationship; according to the technical scheme, different network protocols can be flexibly supported, the support of a novel network protocol can not influence the support of the novel network protocol to the existing network protocol, only more data processing channels are needed to be configured, namely, the protocol analysis plug-in and the protocol processing channels are modified in an increment mode on the basis of the original protocol, a new state jump is added to the novel protocol on a finite state machine, and then a new protocol processing channel is provided for the novel protocol; in the fourth aspect, the technical scheme can be applied to network transmission equipment such as routers, thereby providing an achievable technical route for deployment of heterogeneous converged networks, being capable of supporting seamless convergence of protocols among an IP network, an NDN network, a computing network and a transmission layer distributed coordination and control network, and being capable of realizing the 'progressive' upgrading requirement of the networks.
Drawings
Fig. 1 is a block diagram of a network transmission device according to an embodiment of the present application;
FIG. 2 is a schematic diagram of a processor;
FIG. 3 is a flow chart of a method of data transmission supporting multiple protocols in one embodiment of the present application;
fig. 4 is a flowchart for parsing header data;
FIG. 5 is a flow chart of protocol conversion and label updating;
FIG. 6 is a schematic diagram of information conversion;
FIG. 7 is a schematic diagram of a multi-protocol matching action table;
FIG. 8 is a block diagram of a heterogeneous converged network in one embodiment of the present application;
FIG. 9 is a schematic structural diagram of a data plane;
FIG. 10 is a schematic diagram of a communication connection between a switch and a controller;
FIG. 11 is a schematic diagram of a multi-protocol switch;
fig. 12 is a block diagram of a network transmission device according to another embodiment of the present application.
Embodiments of the invention
The present application is described in further detail below with reference to the accompanying drawings by way of specific embodiments. Wherein like elements in different embodiments are numbered alike in association. In the following embodiments, numerous specific details are set forth in order to provide a better understanding of the present application. However, one skilled in the art will readily recognize that some of the features may be omitted, or replaced by other elements, materials, or methods in different situations. In some instances, some operations associated with the present application have not been shown or described in the specification to avoid obscuring the core portions of the present application, and may not be necessary for a person skilled in the art to describe in detail the relevant operations based on the description herein and the general knowledge of one skilled in the art.
Furthermore, the described features, operations, or characteristics of the description may be combined in any suitable manner in various embodiments. Also, various steps or acts in the method descriptions may be interchanged or modified in a manner apparent to those of ordinary skill in the art. Thus, the various orders in the description and drawings are for clarity of description of only certain embodiments, and are not meant to be required orders unless otherwise indicated.
The numbering of the components itself, e.g. "first", "second", etc., is used herein merely to distinguish between the described objects and does not have any sequential or technical meaning. The terms "coupled" and "connected," as used herein, are intended to encompass both direct and indirect coupling (coupling), unless otherwise indicated.
The technical scheme constructs a transmission device and an implementation method capable of supporting data packet forwarding of multiple protocol types, and the transmission device and the implementation method are used for transmitting the data packets of multiple protocols in a network. The system not only can support the IP protocol regularly, but also can support heterogeneous NDN protocol and calculation power arrangement protocol, and can not influence the support of the existing network protocol when supporting the novel network protocol, has strong compatibility, and can better adapt to the network protocol requirements of the novel network, thereby being popularized and used in the network architecture of the front edge. According to the technical scheme, the data packet is analyzed and identified through the protocol analysis plug-in, the data packet of which protocol the current data packet belongs to can be identified, after the protocol analysis plug-in analyzes the data packet, the data packet can enter a matched protocol processing pipeline for processing, and the data packets of different protocols can respectively enter different protocol processing pipelines. For different protocols with requirements, due to the direct semantic function coupling of the protocols, the parallel data distribution processing is performed, and meanwhile, the state and data coordination processing is performed among a plurality of related parallel processing management channels according to the state change on certain time sequence flows. The data packet is sent to the reverse analysis plug-in after protocol processing, and then is recombined to generate a new data packet, and is forwarded.
Embodiment 1,
Referring to fig. 1, a network transmission device 1 is disclosed in the present embodiment, and the network transmission device 1 mainly includes a network port 11 and a processor 12, which are described below.
The network port 11 is a network interface part for accessing the external internet and transceiving packets transmitted by the internet. The type of network port 11 may be any of an RJ-45 interface, an RJ-11 interface, an SC fiber interface, an FDDI interface, an AUI interface, a BNC interface.
The processor 12 is connected to the network port 11, and is configured to obtain a data packet of any one protocol type from the network port 11, 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 matched data processing channel from a plurality of data processing channels according to the protocol type information, 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, reassemble the new packet header data and the packet body data, and output the reassembled data packet from the network port.
It should be noted that, the processor 12 may include conventional logic processing components, such as CPU, MCU, FPGA, a single-chip microcomputer, and the like, and may even include some peripheral auxiliary electronic components, which are not specifically described herein. Of course, the processor 12 should have some logic processing power to perform the functions of packet disassembly, parsing, transmission, protocol conversion, tag updating, and reassembly.
In this embodiment, referring to fig. 2, the processor 12 includes a parsing module 121, a plurality of data processing channels (e.g., reference numerals 1221, 1222, 1223, 1224), an interaction module 123, and a reorganization module 124, which are described below.
Since the data packet transmitted in the network may be any protocol type, such as a data packet of any protocol type in multiple protocol types, after the parsing module 121 obtains the data packet of any protocol type in multiple protocol types from the network port 11, the parsing module 121 needs to parse the data packet to obtain header data and packet body data; since the packet header data is rule type information of data transmission, the parsing module 121 is further required to parse the packet header data to obtain protocol type information and/or forwarding path label information.
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 to 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.
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 TCP/IP protocol, NDN protocol, algorithm arrangement protocol, blockchain protocol, cipher protocol, QUIC protocol, DCCP protocol. The TCP/IP protocol and the NDN protocol are more conventional network protocols, and the algorithm arrangement protocol, the block chain protocol, the password protocol, the QUIC protocol and the DCCP protocol are network protocols which are only used in specific application occasions.
For example, in fig. 2, the parsing module 121 may be regarded as a protocol parsing plug-in the processor 12, and after receiving a data packet of a certain protocol type, the parsing module 121 first performs processing of the protocol parsing plug-in, so as to perform protocol parsing on a packet header of the data packet, so as to identify which network protocol type of the current data packet is the data packet. The parsing module 121 can accept packets of IP protocol type (including IPv4, IPv 6), packets of NDN protocol type (including NDN interest packet, NDN packet), packets of orchestration protocol type, packets of blockchain protocol type, and even packets of other protocol type. It will be appreciated that, for data packets of different protocol types, the parsing module 121 recognizes the protocol type and records the protocol type of the data packet in the metadata.
In a specific embodiment, the parsing module 121 parses the packet header data according to a preset finite state machine to obtain protocol type information of the packet header data, which includes the following processing procedures:
(1) The parsing module 121 identifies a plurality of custom fields in the header data according to a finite state machine, where the plurality of custom fields may include an ehterype field, an ip_proto field, and a tl_code field.
(2) The parsing module 121 determines which protocol type information of the packet header data belongs to one of the IPv6 protocol, the IPv4 protocol, and the NDN protocol according to the eht-ertype field.
(3) In the case that 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 packet is a UDP type or a TCP type according to the ip_proto field.
(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 determines that the protocol type information of the data packet is the interest packet transmission type or the data packet transmission type according to the tl_code field.
For example, fig. 6 illustrates a finite state machine, based on which the protocol type of the data packet can be determined, and different protocol hops are provided for the data packets of different protocol types. The packets of different protocol types are encapsulated into Ethernet (Ethernet), so the parsing module 121 parses the Ethernet packet header to obtain packet header data, where the Ethernet packet header includes a plurality of 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 packet header data is an IPv6 protocol; if the value of the ethertype field is 0x8000, the protocol type inserted in the current packet header data is an IPv4 protocol; after the IPv4 protocol and the IPv6 protocol are identified, judging the value of the ip_proto field, and if the value of the ip_proto field is 0x0017, judging the protocol type of the current data packet to be UDP type; if the value of the ip_proto field is 0x0006, the protocol type of the current packet is a 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 packet header data is NDN protocol; after the NDN protocol is identified, acquiring the value of the tl_code field, judging, and if the value of the tl_code is 0x05, the current data packet is an NDN interest packet on the protocol type; if the value of tl_code is 0x06, the current packet should be an NDN packet in the protocol type; of course, for both NDN interest packets and NDN data packets, the data identifier may be further determined by the tlv _type field, where the NDN interest packet (or NDN data packet) has an NDN Nonce identifier when tlv _type=0x08, and the NDN interest packet (or NDN data packet) has an NDN Name identifier when tlv _type=0x07, so as to complete the specific type of identification. It will be appreciated that when the parsing module 121 parses and identifies a packet, the protocol type of the packet is recorded in the metadata, and the protocol type in the metadata is invoked in the subsequent processing.
Referring to fig. 2, the processor 12 includes a plurality of data processing channels 1221, 1222, 1223, 1224 respectively matched with a plurality of different protocol type information, and the data processing channels are used for respectively performing transmission processing on data packets of specific protocol types, thereby enhancing data transmission and processing efficiency and supporting forwarding tasks of data packets of various protocols. It will be appreciated that the plurality of data processing channels 1221, 1222, 1223, 1224 illustrated in fig. 2 is only one embodiment, and that the number of data processing channels may be flexibly increased or decreased according to actual needs. It will be further understood that different data processing channels may process different types of data packets, for example, an IPv4 protocol type of data packet may enter an IPv4 protocol-matched data processing channel for processing, an IPv6 protocol type of data packet may enter an IPv6 protocol-matched data processing channel for processing, an NDN protocol type of data packet may enter an NDN protocol-matched data processing channel for processing, an orchestration protocol type of data packet may enter an orchestration protocol-matched data processing channel for processing, a blockchain protocol type of data packet may enter a blockchain protocol-matched data processing channel for processing, and other protocol type of data packet may enter other protocol-matched data processing channels for processing, which will not be described in detail herein.
In a specific embodiment, the protocol type information of the data packet is already known after the data packet passes through the parsing module 121, so for a plurality of data processing channels 1221, 1222, 1223, 1224, a data processing channel (such as 1221) matched with the protocol type information of the plurality of data processing channels can receive the data packet forwarded from the parsing module 121, then the data processing channel 1221 matched with the protocol type information invokes a corresponding multi-protocol matching action table, and then the data processing channel 1221 matched with 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. It should be noted that, the multi-protocol action matching table is used for address marking the prefix mask of the network, the routing field of the device and the port number of the output end; the performing actions herein include operations of protocol conversion, and/or operations of tag updating. It can be understood that, for each data processing channel, not only data packets of the matched protocol type can be transmitted, but also action configuration can be performed on the data packets; in addition, the multiple data processing channels are composed of a multi-protocol matching action table, so that the data processing channels are also the core of a data packet processing mechanism.
Such as the multi-protocol matching action table illustrated in fig. 7, which occupies 9 x 16 bits of memory, the first 8 bits storing a longest prefix mask value, the middle 8 x 16 bits storing a routing field, and the last 8 bits storing the port number of the output port.
If the current entry is an IPv4 routing entry, the longest prefix mask value will be set to 32, the middle 2 x 16 bits will be set to 32 bits of IPv4 destination address, the middle 6 x 16 bits will be set to 0, and the last 8 bits will be set to the output port number. For example, the IPv4 address is 10.118.0.2, and the output port is 3, and the corresponding entry is the first entry in fig. 7.
If the current entry is an IPv6 routing entry, the longest prefix mask value will be set to 128, the middle 8 x 16 bits will be set to the IPv6 destination address, and the last 8 bits set to the output port number. For example, if the IPv6 address is CDCD:910A:2222:5498:8475:1111:3900:2020 and the output port is 4, the corresponding entry is the second entry in FIG. 7.
If the current entry is an NDN routing entry, the longest prefix mask value is set to 16, the middle 16 bits of the number of name elements are set to the mapping value of the NDN name, the middle (8-number of name elements) 16 bits are set to 0, and the last 8 bits are set to output port number 2, and the corresponding entry is the third entry in fig. 7.
Referring to FIG. 2, processor 12 includes an interaction module 123, interaction module 123 being coupled to a plurality of data processing channels 1221, 1222, 1223, 1224; the interaction module 123 is used for converting protocol type information and/or updating forwarding path label information of the packet header data according to the matched data processing channels, so as to obtain new packet header data. Because each data processing channel obtains the execution action of the data packet after the data packet is configured according to the multi-protocol matching action, the interaction module 123 can perform further interaction processing on the data packet according to the protocol conversion operation and/or the label updating operation in the execution action.
It should be noted that, the purpose of the interaction module 123 to perform the protocol conversion operation is to implement inter-protocol process communication between different data processing channels, and solve the problem of interaction requirement of the coupling protocol after the data lane processing by supporting conversion of the protocol type information.
In one case, when the interaction module 123 determines that the operation of performing the action indication protocol conversion is performed, the protocol type included in the packet header data is replaced by the preset target network protocol, so as to implement the conversion of the protocol type information.
In another case, when the interaction module 123 determines that the operation of updating the action indication label is performed, mathematical operation is performed by using the unique feature matrix of the network transmission device through which the data packet passes and the custom vector inserted in the packet header data, so as to update the forwarding path label information.
In yet another case, when the interaction module 123 determines to perform the operations of the action indication protocol conversion and the label updating, the protocol type included in the packet header data is replaced by the target network protocol, and mathematical operation is performed by using the unique feature matrix of the network transmission device through which the data packet passes and the custom vector inserted in the packet header data.
It should be noted that, the purpose of the interaction module 123 to perform the tag update is to compress the actual forwarding path information of the record data packet during the process of passing through multiple network transmission devices (such as switches) by using the tag value. After a data packet enters a data layer formed by a plurality of switches, an entry switch executes a label insertion algorithm to insert an initial label value (namely a custom vector) into the packet header data of the data packet, and as the data packet is forwarded in the data layer, the label value is updated by the switch through a label updating algorithm, namely, a unique feature matrix of the switch and the custom vector inserted into the packet header data are subjected to mathematical operation; when the packet reaches the end of the path, the egress switch removes and reports the tag value to the control plane of the upper layer so that the controller in the control plane knows the actual forwarding path of the packet in each switch.
It can be appreciated that the interaction module 123 implements cross-protocol process communication between different data processing channels, and converts protocol type information through support, so as to solve the problem of interaction requirement of the coupling protocol after data lane processing, so that the data packet can be converted between different protocol types, and an overall interaction coupling relationship is implemented. The IP protocol is a unidirectional network protocol, which does not face the transmission problem of different addresses, while other network protocols need to face the transmission problem of different addresses, so that the conversion, supplement and/or deletion of header data of data packets of different protocols can be implemented through the interaction module 123. For example, for the data packets of the arrangement protocol and the transmission protocol, each channel is provided, after the arrangement protocol makes a decision task and is paired with the network transmission equipment such as a router, the transmission protocol is informed, and related data transmission is initiated to the selected router node; during the period, the arrangement protocol needs to return information such as IP protocol address of the transmission protocol to the task demand party, and under the constraint of time sequence relation, after the data of the task party is 'roamed' to the 'selected' router for calculation completion, the task completion state needs to be returned; finally, the calculation results are returned from the "transport protocol" or from the orchestration protocol to the "requestor". The protocol conversion, supplement and/or deletion of the packet header data of the different protocol data packets can be realized by the mode, so that new packet header data is formed.
Referring to fig. 2, the processor 12 includes a reassembly module 124, where the reassembly module 124 is connected to the interaction module 123, and is configured to reassemble new header data and packet body data and transmit the reassembled data packet.
In a specific embodiment, the reassembly module 124 splices the new packet header data and the packet body data to obtain a spliced reassembled data packet; the reassembly module 124 then outputs the reassembled data packet from the network port 11 for network transmission of the reassembled data packet. It should be noted that, the reassembly module 124 may be regarded as a packet reassembly plug-in, and the two modules may involve disassembling and modifying the packet when the packet passes through the specific data processing channel and the interaction module, so that the packet needs to be reassembled and forwarded through the packet reassembly plug-in when the packet is forwarded.
In the present embodiment, the network transmission device 1 may be a switch, a router, a gateway or a network card, as long as it can perform networking and packet processing, and the specific hardware type is not limited.
It can be understood that the network transmission device in this embodiment can analyze multiple protocol data packets, further support forwarding tasks of multiple protocol data packets, and has advantages of guaranteeing that different data packets have different lanes, reducing congestion in the data processing process, and being clearer in processing logic.
It can be understood that the problem of the interaction requirement of the coupling protocol after the packet is processed by the data packet sub-channel is solved in the embodiment, the packet can realize the interaction conversion on the protocol, and the coupling relationship is realized on the whole, so that once the router receiving a certain calculation task is determined, the router can realize the transfer and the transmission of the packet through the protocol conversion, and the occurrence of the congestion transmission situation of a plurality of packets on a single router is avoided.
Embodiment II,
On the basis of the network transmission device disclosed in the first embodiment, a data transmission method supporting multiple protocols is disclosed in this embodiment, and the data transmission method is mainly applied to the processor 12.
In this embodiment, referring to fig. 3, the data transmission method may include steps 210-260, which are described below.
Step 210, obtain a data packet of any one protocol type of the multiple protocol types. Such as fig. 1 and 2, the parsing module 121 in the processor 12 obtains a data packet with a certain protocol type from the network segment 11, where the data packet may have any protocol type of TCP/IP protocol, NDN protocol, algorithm arrangement protocol, blockchain protocol, cryptographic protocol, QUIC protocol, DCCP protocol.
Step 220, the data packet is decomposed to obtain packet header data and packet body data.
For example, in fig. 1 and fig. 2, after the parsing module 121 obtains a data packet of any one protocol type of the multiple protocol types from the network port 11, the parsing module 121 is further required to parse the data packet to obtain header data and packet body data.
And 230, analyzing the packet header data to obtain protocol type information and/or forwarding path label information.
Since the packet header data is rule type information of data transmission, the parsing module 121 is further required to parse the packet header data to obtain protocol type information and/or forwarding path label information. 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. In another case, in order to obtain the forwarding path label information in the packet header data, the parsing module 122 may parse to 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.
It is to be appreciated that since the data packet may be of any protocol type, the protocol type information may include one or more of TCP/IP protocol, NDN protocol, algorithm arrangement protocol, blockchain protocol, cryptographic protocol, QUIC protocol, DCCP protocol.
Step 240, selecting a matched data processing channel from the plurality of data processing channels according to the protocol type information.
Thus enhancing data transmission and processing efficiency while supporting forwarding tasks for multiple protocol packets, a plurality of data processing channels 1221, 1222, 1223, 1224 are respectively matched for multiple different protocol type information in fig. 2, and these data processing channels are used for respectively performing transmission processing on packets of a specific protocol type. Different data processing channels process different types of data packets, for example, an IPv4 protocol type data packet may enter an IPv4 protocol-matched data processing channel for processing, an IPv6 protocol type data packet may enter an IPv6 protocol-matched data processing channel for processing, an NDN protocol type data packet may enter an NDN protocol-matched data processing channel for processing, an orchestration protocol type data packet may enter an orchestration protocol-matched data processing channel for processing, a blockchain protocol type data packet may enter a blockchain protocol-matched data processing channel for processing, and other protocol type data packets may enter other protocol-matched data processing channels for processing.
For each data processing channel, not only can data packets of matched protocol types be transmitted, but also the data packets can be configured in an action mode. Such as fig. 2, the data packet is preprocessed by the data processing channel matched with the protocol type information, so as to obtain the execution action of the data packet. For a data processing channel matched with certain protocol type information, when processing a transmitted data packet, a corresponding multi-protocol matching action table is required to be called, and then the data packet is configured according to the multi-protocol matching action table, so that an execution action for the data packet is obtained.
It should be noted that, the multi-protocol action matching table is used for address marking the prefix mask of the network, the routing field of the device and the port number of the output end; the performing actions herein include operations of protocol conversion, and/or operations of tag updating. For the multi-protocol matching action table, see three entries in fig. 7, and the related description in the first embodiment, which will not be described in detail here.
Step 250, converting protocol type information and/or updating forwarding path label information according to the matched data processing channel to obtain new packet header data.
For example, in fig. 2, since each data processing channel obtains the execution action of the data packet after the data packet is configured according to the multi-protocol matching action, the interaction module 123 may then perform further interaction processing on the data packet according to the protocol conversion operation in the execution action and/or the label updating operation. In one embodiment, the interaction module 123 performs a conversion process of protocol type information on header data in the data packet and/or performs an update process of forwarding path label information according to the execution action, to obtain new header data.
In the first case, when the interaction module 123 determines that the operation of performing the action indication protocol conversion is performed, the preset target network protocol is used to replace the protocol type included in the packet header data, so as to implement the conversion of the protocol type information. In the second case, when the interaction module 123 determines that the operation of updating the action indication label is performed, mathematical operation is performed by using the unique feature matrix of the network transmission device through which the data packet passes and the custom vector inserted in the packet header data, so as to update the forwarding path label information. In the third case, when the interaction module 123 determines to perform the operations of the action indication protocol conversion and the label updating, the target network protocol is used to replace the protocol type contained in the packet header data, and the unique feature matrix of the network transmission device through which the data packet passes is used to perform mathematical operation with the custom vector inserted in the packet header data.
Step 260, reorganize the new header data and the packet body data, and transmit the reorganized data packet. For example, in fig. 1 and fig. 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; the reassembly module 124 then outputs the reassembled data packet from the network port 11 for network transmission of the reassembled data packet.
In this embodiment, the above step 230 mainly relates to a process of parsing a packet header of data, where parsing the packet header data to obtain protocol type information may specifically include steps 231-233, which are described below with reference to fig. 4.
In step 231, a plurality of custom fields in the header data are identified according to the finite state machine, where the plurality of custom fields includes an ehterype field, an ip_proto field, and a tl_code field.
Step 232, determining which protocol type information of the header data belongs to the IPv6 protocol, the IPv4 protocol, or the NDN protocol according to the eht ertype field.
Step 233, judging that the protocol type information of the data packet is a UDP type or a TCP type according to the ip_proto field under the condition that the protocol type of the packet header data is judged to belong to an IPv6 protocol or an IPv4 protocol; or under the condition that the protocol type of the packet header data is judged to belong to the NDN protocol, judging that the protocol type information of the data packet is the interesting packet transmission type or the data packet transmission type according to the tl_code field.
In a specific embodiment, steps 231-233 may be further described by means of a finite state machine, which is schematically shown in fig. 6. The packets of different protocol types are encapsulated into Ethernet (Ethernet), so the parsing module 121 parses the Ethernet packet header to obtain packet header data, where the Ethernet packet header includes a plurality of 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 packet header data is an IPv6 protocol; if the value of the ethertype field is 0x8000, the protocol type inserted in the current packet header data is an IPv4 protocol; after the IPv4 protocol and the IPv6 protocol are identified, judging the value of the ip_proto field, and if the value of the ip_proto field is 0x0017, judging the protocol type of the current data packet to be UDP type; if the value of the ip_proto field is 0x0006, the protocol type of the current packet is a 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 packet header data is NDN protocol; after the NDN protocol is identified, acquiring the value of the tl_code field, judging, and if the value of the tl_code is 0x05, the current data packet is an NDN interest packet on the protocol type; if the value of tl_code is 0x06, the current packet should be an NDN packet in the protocol type; of course, for both NDN interest packets and NDN data packets, the data identifier may be further determined by the tlv _type field, where the NDN interest packet (or NDN data packet) has an NDN Nonce identifier when tlv _type=0x08, and the NDN interest packet (or NDN data packet) has an NDN Name identifier when tlv _type=0x07, so as to complete the specific type of identification. It will be appreciated that when the parsing module 121 parses and identifies a packet, the protocol type of the packet is recorded in the metadata, and the protocol type in the metadata is invoked in the subsequent processing.
In this embodiment, the above step 250 mainly relates to the process of protocol type conversion and label updating, and then, referring to fig. 5, the step 250 may specifically include steps 251-257, which are described below.
Step 251, obtaining a multi-protocol matching action table according to the data processing channel matched with the protocol type information. The multi-protocol action matching table is used here to address the prefix mask of the network, the routing field of the device and the port number of the output.
Step 252, the data packet is configured according to the multi-protocol matching action table, so as to obtain an execution action for the data packet. The performing actions herein include operations of protocol conversion, and/or operations of tag updating. Step 252 is followed by step 253 and step 254.
Step 253, it is determined whether the execution action is an operation indicating protocol conversion, if yes, step 255 is entered, and if not, step 257 is entered.
Step 254, it is determined whether the execution action is an operation indicating a tag update, if so, step 256 is entered, and if not, step 257 is entered.
And 255, when the operation of the action indication protocol conversion is executed, replacing the protocol type contained in the packet header data by using a preset target network protocol so as to realize the conversion of the protocol type information.
It should be noted that, the purpose of implementing protocol type information conversion is to implement inter-protocol process communication between different data processing channels, and by supporting conversion of protocol type information, the problem of interaction requirement of coupling protocols after data lane processing is solved, so that data packets can be converted between different protocol types, and further, the overall interaction coupling relationship is implemented. The IP protocol is a unidirectional network protocol, which does not face the transmission problem of different addresses, while other network protocols need to face the transmission problem of different addresses, so that the conversion, the supplementation and/or the deletion of the header data of the data packets of different protocols can be implemented through the interaction module 123, thereby forming new header data.
Step 256, when the operation of updating the action indication label is executed, mathematical operation is performed by using the unique feature matrix of the network transmission device through which the data packet passes and the custom vector inserted in the packet header data, so as to update the forwarding path label information.
It should be noted that, the purpose of implementing the forwarding path label information update is to compress the actual forwarding path information of the record data packet during the process of passing through multiple network transmission devices (such as switches) by using the label value. After a data packet enters a data layer formed by a plurality of switches, an entry switch executes a label insertion algorithm to insert an initial label value (namely a custom vector) into the packet header data of the data packet, and as the data packet is forwarded in the data layer, the label value is updated by the switch through a label updating algorithm, namely, a unique feature matrix of the switch and the custom vector inserted into the packet header data are subjected to mathematical operation; when the packet reaches the end of the path, the egress switch removes and reports the tag value to the control plane of the upper layer so that the controller in the control plane knows the actual forwarding path of the packet in each switch.
Step 257, which is entered when the execution action does not indicate an operation for protocol conversion or does not indicate an operation for tag update, may be performed without any operation (i.e., no operation) so as to be ready to enter the execution action judgment of the next packet at any time.
The skilled person will understand that when the operations of protocol conversion and label update are simultaneously instructed by performing the actions, on the one hand, the protocol type contained in the packet header data needs to be replaced by using the target network protocol, and on the other hand, mathematical operations need to be performed by using the unique feature matrix of the network transmission device through which the data packet passes and the custom vector inserted in the packet header data.
Third embodiment,
Based on the network transmission device disclosed in the first embodiment and the data transmission method supporting multiple protocols disclosed in the second embodiment, a heterogeneous convergence network is disclosed in this embodiment.
In this embodiment, referring to fig. 8, the heterogeneous convergence network mainly includes a data plane 3 and a control plane 4, which are described below.
The data plane 3 comprises a plurality of network transport devices topologically connected, each network transport device being capable of supporting a plurality of communication protocols for data forwarding. Each network transmission device included in the data plane 3 may refer to the structures in fig. 1 and 2, and the network transmission device may be a switch, a router, a gateway, or a network card.
The control plane 4 is connected to the network transmission device in the data plane 3 for controlling the path of data forwarding of the network transmission device.
In fig. 8, the plurality of network transmission devices in the data plane 3 may be topologically connected switches, such as switches 31, 32, 33, 34, 35, 36, and a controller 41 is disposed in the control plane 4 and the controller 41 is connected to each switch, and the controller 41 in the control plane 4 is used to control a path of data forwarding 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 the different hosts, for hosts 51, 52, 53, 54 in fig. 8, host 51 is communicatively connected to switch 31, host 52 is communicatively connected to switch 34, host 53 is communicatively connected to switch 35, host 54 is communicatively connected to switch 36, and the respective hosts rely on the respective switches to effect interconnection of the network.
For example, in fig. 9, each switch in the data plane presents a topological connection relationship, and an individual switch is used as an ingress switch, and the ingress switch accesses the internet and receives data packets generated by user equipment (i.e., hosts such as cameras, mobile phone terminals, vehicle terminals, etc.) in the internet, where, of course, ordinary data packets may be sent to the ingress switch one by one according to a data packet transmission queue, and data packets performing computing (i.e., computing packets) may be sent to the ingress switch one by one according to a computing task queue. In addition, the data packets are forwarded through the switches on the data plane, during which each switch may perform processes such as splitting, parsing, channel-specific transmission, protocol conversion, label updating, reassembly, etc., and then the data packets are sent by the egress switch to the wide area network for transmission to other user devices, or the data packets (e.g., the calculation packets) are sent by the egress switch to the cloud computing server for performing cloud operations.
In this embodiment, for the data plane 3, each network transmission device can acquire a data packet of any one protocol type of the multiple protocol types forwarded by the connected other network transmission devices, and obtain packet header data and packet body data by decomposing the data packet; the network transmission equipment can analyze the packet header data to obtain protocol type information and forwarding path label information, select a matched data processing channel from a plurality of data processing channels according to the protocol type information, and convert the protocol type information and update the forwarding path label information according to the matched data processing channel to obtain new packet header data; in addition, the network transmission device can recombine new packet header data and packet body data, and transmit the recombined data packet to the next network transmission device on the forwarding path.
In this embodiment, the communication connection relationship between any one of the switches (e.g., the switch 31) in the data plane 3 and the controller 41 in the control plane can be represented by fig. 10. The controller 41 may send a probe packet to the switch 31 to actively probe the data forwarding paths of each switch in the data plane 3 for path consistency verification, and the switch 31 may also actively receive data packets of a preset protocol type forwarded by other switches. The parsing module in the switch 31 parses the packet to obtain packet header data and packet body data, and then parses the packet header data according to a preset finite state machine to obtain protocol type information of the packet header data; and/or analyzing to obtain the custom vector inserted in the packet header data, and obtaining forwarding path label information of the packet header data according to the custom vector. The data processing channel in the switch 31 matched with the protocol type information pre-processes the data packet, that is, the execution action of the data packet is obtained through the matching action processing. The interaction module in the switch 31 performs conversion processing of protocol type information and/or update processing of forwarding path label information on the packet header data in the data packet according to the execution action, so as to obtain new packet header data; in protocol conversion processing, replacing protocol types contained in the packet header data by utilizing a preset target network protocol to realize conversion of protocol type information; in the label updating process, mathematical operation is performed by using the unique feature matrix of the network transmission device through which the data packet passes and the custom vector inserted in the packet header data, and the forwarding path label information is updated by the processing of the updating algorithm, so that the updated forwarding path label information can be reported to the controller 41. Because new packet header data is obtained, the new packet header data and packet body data can be recombined, and then a recombined data packet is output.
For each switch supporting multiple protocols in the data plane 3, the processing procedures of the switch for decomposing, parsing, transmitting a specific channel, converting a protocol, updating a label, reorganizing, and the like, can refer to fig. 11. The method comprises the steps of receiving a data packet of any protocol type in a plurality of protocol types by utilizing a parser (namely a parsing module), and obtaining the protocol type information of the data packet through decomposition and parsing, such as a data packet of which protocol type is among an NDN data packet, an NDN interest packet, an IPv4 data packet and an IPv6 data packet; the use of multiple data processing channels is a key mechanism for the switch to support multiprotocol data processing, for example, a data processing channel matching the IPv4 protocol is used to transmit and configure IPv4 data packets, a data processing channel matching the IPv6 protocol is used to transmit and configure IPv6 data packets, and a 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 that a universal 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 IPv 4-pkt) and IPv6 Data packets (such as IPv 6-pkt). The multi-protocol matching action table can be specifically a FIB table and a PIT table, wherein the FIB table can support forwarding of the NDN interest packet and forwarding of the IPv4 and IPV6 data packets, and each row in the PIT table corresponds to one PIT code and can support forwarding of the NDN data packet; in addition, the content memory area CS is used to buffer received NDN packets.
In fig. 11, for the NDN protocol, an NDN data processing channel for processing an NDN packet is specifically defined, for example, the NDN data processing channel is composed of two matching action tables, i.e., a matching action table PIT and a matching action table NDN-FIB. Each packet of interest supporting NDN protocol is passed through the content store CS and then through the match action table PIT and the match action table NDN-FIB. Each packet supporting NDN protocol passes through the matching action table PIT and then through the content storage area CS. For the IPv4 protocol, an IPv4 data processing channel for processing an IPv4 data packet is specifically defined, for example, the IPv4 data processing channel is composed of a matching action table IPv4-FIB, and each data packet supporting the IPv4 protocol is processed by the matching action table IPv 4-FIB. For the IPv6 protocol, an IPv6 data processing channel for processing an IPv6 data packet is specifically defined, for example, the IPv6 data processing channel is formed by matching action tables IPv6-FIB, and the data packet of each IPv6 protocol is processed by the matching action tables IPv 6-FIB. Of course, for simplicity of explanation, a generic multi-protocol matching action table may be used to support processing of NDN interest packets, NDN packets, IPv4 packets, and IPv6 packets simultaneously, and may be specifically referred to in fig. 7.
In fig. 11, since the parser (i.e., parsing module) in the switch parses and parses the data, not only the packet header data and the packet body data of the data packet, but also the protocol type information and the forwarding path label information of the packet header data can be obtained. When the data packet passes through the matched data processing channel, the data processing channel matched with the protocol type information can preprocess the data packet, namely, the execution action of the data packet is obtained through the matching action processing. And then, the interaction module in the switch can perform conversion processing of protocol type information on the packet header data in the data packet according to the execution action and/or update processing of forwarding path label information to obtain new packet header data. It can be understood that in the protocol conversion process, the switch needs to replace the protocol type contained in the packet header data by using a preset target network protocol to realize the conversion of the protocol type information; in the label updating process, the exchanger needs to utilize the unique characteristic matrix of the network transmission equipment through which the data packet passes and the custom vector inserted in the packet header data to carry out mathematical operation, and the updating of the forwarding path label information is realized through the processing of an updating algorithm, so that the updated forwarding path label information can be reported. Next, an inverse parser (i.e. a reorganizing module) in the switch reorganizes the new packet header data and the original packet body data to obtain a new data packet, i.e. a reorganized data packet; of course, the reorganization module utilizes the data packet transmission interface to send the reorganized data packet to the network for forwarding, or directly discard the data packet to enter the next cycle, and the parser processes the next data packet in the next cycle.
Next, a label updating process of the packet will be described from the perspective of the data plane 3. In the data plane 3, the switch that forwards the data packet for the first time on the actual path is defined as an ingress switch, the switch that forwards the data packet for the last time on the actual path is defined as an egress switch, and the rest switches on the actual path are intermediate switches. The data plane 3 inserts an initial tag value in the data packet using the ingress switch on the actual path and reports the initial tag value to the control plane 4. For example, the initialization tag value may be derived from a two-dimensional random vector (v 1 ,v 2 ) And a modulus p of 32 bits, wherein the two-dimensional random vector may comprise two integers of 32 bits. The initial tag value is used for subsequent tag update calculations. The data plane 3 updates the initial tag value of the data packet with intermediate switches and egress switches on the actual path. For example, the controller 41 may assign a matrix address to each switch and issue it to the corresponding switch, so that each switch may have a unique 2×2 feature matrix (denoted by Mi), and four values in the feature matrix are all 32-bit integers. Every time a packet passes through a switch (denoted by Si), the switch Si performs matrix multiplication on the tag value in the packet and the feature matrix Mi of the switch Si, so as to obtain a new tag value to replace the original tag value. For example, the label value update procedure refers to the following formulas p=p×det (Mi), (v) 2i+1 ,v 2i+2 )=(v 2i-1 ,v 2i ) Mi% 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 ) All represent two-dimensional random vectors, subscript i represents the serial number of the switch, and%represents modulo arithmetic. Of course, the data plane 3 may also form corresponding actual forwarding information with the header data of the data packet according to the label value updated by any one of the intermediate switch and the egress switch on the actual path, and report the actual forwarding information to the controller 41 in the control plane 4.
In one embodiment, the tag update process is as follows: a) And for the intermediate switch on the actual path, the intermediate switch performs matrix multiplication operation on the characteristic matrix of the intermediate switch and the initial tag value inserted in the data packet to obtain a first tag value. b) And for the exit switch on the actual path, the exit switch performs matrix multiplication operation on the characteristic matrix of the exit switch and the first label value to obtain a second label value. c) In matrix multiplication operation, a feature matrix participating in the operation is subjected to modular computation (such as Mi% p) to prevent matrix multiplication from overflowing, and the first tag value and the second tag value are updated tag values, so that actual forwarding information is required to be formed together with packet header data.
It should be noted that, in this embodiment, the heterogeneous converged network means that the communication protocol of the network bottom layer has multiple protocol types, for example, a network based on the TCP/IP protocol and a network based on the NDN protocol belong to two heterogeneous networks. With the advent of underlying network virtualization, NFV, and programmable interaction technologies, networks are more open, and functions to be undertaken are more and more diversified and integrated. Most of the traditional network protocols only complete the data transmission function, and newly-appearing network layer protocols gradually increase advanced types of protocols such as direct butt joint, distribution and arrangement (algorithm network protocol), identity authentication and data privacy protection (blockchain protocol for example), time delay sensitive protocol (TSN) and the like for computing tasks, so that new application requirements and scenes are provided for the processing technology of the novel programmable router. Emerging network underlying protocols can be roughly classified as feature types: the method and the system have the advantages that a stateless protocol (such as UDP), a simple state protocol (such as TCP only maintains a connection-oriented transmission state, such as NDN increases the identification of data to distinguish a repeated state, a data relay state and a link interface state), a complex state protocol (such as a calculation network arrangement protocol, protocol packets can cross-layer interaction, the semantic function of the protocol packets is not only interaction on a data layer, but also interaction with equipment states and simultaneously has a function of time sequence interaction with the protocol packets), and further a new scene is provided on the processing mode of router equipment.
The skilled person will appreciate 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 protocol, DCN (data center network protocol), network layer probe protocol, telemetry protocol, and the like.
The technical scheme in this embodiment can flexibly support different network protocols, support on a novel network protocol does not affect support on an existing network protocol, and only more data processing channels need to be configured, namely, the protocol analysis plug-in and the protocol processing channels are modified in an increment on the original basis, and a new state jump is added to the novel protocol on a finite state machine, and then a new protocol processing channel is provided for the novel protocol. In addition, the technical scheme can be applied to network transmission equipment such as routers, and the like, thereby providing an achievable technical route for deployment of heterogeneous converged networks, being capable of supporting seamless convergence of protocols among an IP network, an NDN network, a computing network and a transmission layer distributed coordination and control network, and being capable of realizing the 'progressive' upgrading requirement of the networks.
Fourth embodiment,
On the basis of the data transmission method disclosed in the second embodiment, a network transmission device is disclosed in the second embodiment, and the network transmission device 6 includes a memory 61 and a processor 62.
In the present embodiment, the memory 61 and the processor 62 are main components of the network transmission device 6, and of course, the network transmission device 6 may further include some functional modules connected to the processor 62, and in particular, reference is made to the first embodiment above, which is not described in detail herein.
The memory 61 may be a computer readable storage medium, and is used to store a program, which may be a program code corresponding to the data transmission method supporting multiprotocol in the second embodiment.
The processor 62 is connected to the memory 61, and is configured to execute a program stored in the memory 61 to implement the data transmission method disclosed in the second embodiment, such as steps 210-260 in fig. 3. It should be noted that the function implemented by the processor 62 may refer to the processor 12 in the first embodiment, and will not be described in detail herein.
Those skilled in the art will appreciate that all or part of the functions of the various methods in the above embodiments may be implemented by hardware, or may be implemented by a computer program. When all or part of the functions in the above embodiments are implemented by means of a computer program, the program may be stored in a computer readable storage medium, and the storage medium may include: read-only memory, random access memory, magnetic disk, optical disk, hard disk, etc., and the program is executed by a computer to realize 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 functions described above can be realized. In addition, when all or part of the functions in the above embodiments are implemented by means of a computer program, the program may be stored in a storage medium such as a server, another computer, a magnetic disk, an optical disk, a flash disk, or a removable hard disk, and the program in the above embodiments may be implemented by downloading or copying the program into a memory of a local device or updating a version of a system of the local device, and when the program in the memory is executed by a processor.
The foregoing description of specific examples is provided to assist in understanding the technical solutions of the present application, and is not intended to limit the present application. Several simple deductions, variations or substitutions may also be made by the person skilled in the art, based on the idea of the present application.

Claims (17)

  1. A method for supporting multiprotocol data transmission, comprising:
    acquiring a data packet of any protocol type in the multiple protocol types;
    decomposing the data packet to obtain packet header data and packet body data;
    analyzing the packet header data to obtain protocol type information and/or forwarding path label information;
    selecting a matched data processing channel from a plurality of data processing channels according to the protocol type information;
    converting protocol type information and/or updating forwarding path label information according to the matched data processing channels to obtain new packet header data;
    and recombining the new packet header data and the packet body data, and transmitting the recombined data packet.
  2. The data transmission method according to claim 1, wherein said parsing the packet header data to obtain protocol type information and/or forwarding path label information includes:
    Analyzing the packet header data according to a preset finite state machine to obtain protocol type information of the packet header data; and/or the number of the groups of groups,
    analyzing to obtain the custom vector inserted in the packet header data, and obtaining forwarding path label information of the packet header data according to the custom vector.
  3. The data transmission method of claim 2, wherein the protocol type information comprises one or more of TCP/IP protocol, NDN protocol, algorithm arrangement protocol, blockchain protocol, cipher protocol, QUIC protocol, DCCP protocol.
  4. The data transmission method according to claim 2, wherein the parsing the packet header data according to a preset finite state machine to obtain the protocol type information of the packet header data includes:
    identifying a plurality of custom fields in the packet header data according to the finite state machine, wherein the custom fields comprise an ehterype field, an ip_proto field and a tl_code field;
    judging which of an IPv6 protocol, an IPv4 protocol and an NDN protocol the protocol type information of the packet header data belongs to according to the ehtertype field;
    judging that the protocol type information of the data packet is UDP type or TCP type according to the ip_proto field under the condition of belonging to an IPv6 protocol or an IPv4 protocol;
    And under the condition of belonging to an NDN protocol, judging 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.
  5. The data transmission method according to claim 1, wherein the converting the packet header data according to the matched data processing channel to the protocol type information and/or updating the forwarding path label information to obtain new packet header data includes:
    preprocessing the data packet through a data processing channel matched with the protocol type information to obtain an execution action of the data packet;
    and carrying out conversion processing of protocol type information and/or updating processing of forwarding path label information on the packet header data in the data packet according to the execution action to obtain new packet header data.
  6. The data transmission method according to claim 5, wherein the performing the pre-processing of the data packet through the data processing channel matched with the protocol type information to obtain the data packet includes:
    obtaining a multi-protocol matching action table according to a data processing channel matched with the protocol type information;
    Configuring the data packet according to the multi-protocol matching action table to obtain an execution action aiming at the data packet;
    the multi-protocol action matching table is used for carrying out address marking on a prefix mask of the network, a routing field of the equipment and a port number of an output end; the performing action includes an operation of protocol conversion, and/or an operation of tag update.
  7. The data transmission method according to claim 6, wherein the performing the protocol type information conversion process and/or the forwarding path label information update process on the header data in the data packet according to the performing operation to obtain new header data includes:
    when the operation of executing the action indication protocol conversion is performed, replacing the protocol type contained in the packet header data by using a preset target network protocol so as to realize the conversion of protocol type information;
    when the operation of executing the action indication label updating is performed, mathematical operation is performed by utilizing a unique feature matrix of the network transmission equipment through which the data packet passes and a custom vector inserted in the packet header data so as to update forwarding path label information;
    when the operations of the action indication protocol conversion and the label updating are executed, the protocol type contained in the packet header data is replaced by a target network protocol, and mathematical operation is carried out by using the unique feature matrix of the network transmission equipment through which the data packet passes and the custom vector inserted in the packet header data.
  8. The data transmission method as claimed in claim 1, wherein said reassembling said new header data and said packet body data and transmitting the reassembled data packet includes:
    splicing the new packet header data and the packet body data to obtain a spliced recombinant data packet;
    and outputting the recombined data packet from a preset network port so as to carry out network transmission on the recombined data packet.
  9. A network transmission device, comprising:
    the network port is used for accessing the Internet and receiving and transmitting data packets transmitted by the Internet;
    the processor is connected with the network port, and is used for acquiring a data packet of any protocol type in the multiple protocol types from the network port, decomposing the data packet to obtain packet header data and packet body data, analyzing the packet header data to obtain protocol type information and/or forwarding path label information, selecting a matched 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, recombining the new packet header data and the packet body data, and outputting the recombined data packet from the network port.
  10. The network transmission device of claim 9, wherein the processor comprises a parsing module;
    the analysis module analyzes the packet header data according to a preset finite state machine to obtain protocol type information of the packet header data; and/or the number of the groups of groups,
    the analysis module analyzes and obtains the self-defined vector inserted in the packet header data, and obtains forwarding path label information of the packet header data according to the self-defined vector;
    the protocol type information includes one or more of TCP/IP protocol, NDN protocol, algorithm orchestration protocol, blockchain protocol, cryptographic protocol, QUIC protocol, DCCP protocol.
  11. The network transmission device according to claim 9, wherein 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 includes:
    the parsing module identifies a plurality of custom fields in the packet header data according to the finite state machine, wherein the custom fields comprise an ehterype field, an ip_proto field and a tl_code field;
    the analysis module judges which protocol type information of the packet header data belongs to an IPv6 protocol, an IPv4 protocol and an NDN protocol according to the eht ertype field;
    Under the condition of belonging to an IPv6 protocol or an IPv4 protocol, the analysis module judges that the protocol type information of the data packet is a UDP type or a TCP type according to the ip_proto field;
    and under the condition of belonging to an NDN protocol, the analysis module judges 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.
  12. The network transmission apparatus according to claim 9 or 10, wherein the processor further comprises a plurality of data processing channels respectively matched with a plurality of different protocol type information;
    a data processing channel matched with the protocol type information in the plurality of data processing channels receives the data packet;
    the data processing channel matched with the protocol type information calls a corresponding multi-protocol matching action table;
    the data processing channel matched with the protocol type information configures the data packet according to the multi-protocol matching action table to obtain an execution action aiming at the data packet;
    the multi-protocol action matching table is used for carrying out address marking on a prefix mask of the network, a routing field of the equipment and a port number of an output end; the performing action includes an operation of protocol conversion, and/or an operation of tag update.
  13. The network transmission device of claim 12, wherein the processor further comprises an interaction module;
    when the interaction module judges the operation of executing the action indication protocol conversion, a preset target network protocol is utilized to replace the protocol type contained in the packet header data so as to realize the conversion of protocol type information;
    when the interaction module judges the operation of executing the updating of the action indication label, mathematical operation is carried out by utilizing a unique characteristic matrix of the network transmission equipment through which the data packet passes and a custom vector inserted in the packet head data so as to realize the updating of forwarding path label information;
    and when judging the operation of executing the action indication protocol conversion and the label updating, the interactive module replaces the protocol type contained in the packet header data by utilizing a target network protocol, and performs mathematical operation by utilizing the unique feature matrix of the network transmission equipment through which the data packet passes and the custom vector inserted in the packet header data.
  14. The network transmission device of claim 9, wherein the processor further comprises a reorganization module;
    the reorganization module splices the new packet header data and the packet body data to obtain a spliced reorganized data packet;
    And the reorganization module outputs the reorganization data packet from a network port so as to carry out network transmission on the reorganization data packet.
  15. The network transmission device of claim 9, wherein the network transmission device is a switch, a router, a gateway, or a network card.
  16. The heterogeneous fusion network is characterized by comprising a data layer and a control layer;
    the data plane comprises a plurality of network transmission devices which are topologically connected, and each network transmission device can support a plurality of communication protocols for data forwarding;
    the control layer is connected with the network transmission equipment in the data layer and is used for controlling the data forwarding path of the network transmission equipment through a plurality of protocol types;
    in the data layer, each network transmission device can acquire a data packet of any one protocol type in the multi-protocol types forwarded by other connected network transmission devices, and decompose the data packet to obtain packet header data and packet body data; the network transmission equipment can analyze the packet header data to obtain protocol type information and forwarding path label information, select a matched data processing channel from a plurality of data processing channels according to the protocol type information, and convert the protocol type information and update the forwarding path label information according to the matched data processing channel to obtain new packet header data; the network transmission device can recombine the new packet header data and the packet body data and transmit the recombined data packet to the next network transmission device on the forwarding path.
  17. A computer-readable storage medium, characterized in that the medium has stored thereon a program executable by a processor to implement the data transmission method according to any one of claims 1-8.
CN202180098873.9A 2021-12-22 2021-12-22 Multi-protocol data transmission method and device, network and storage medium Pending CN117441318A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/140331 WO2023115367A1 (en) 2021-12-22 2021-12-22 Multi-protocol data transmission method and apparatus, network, and storage medium

Publications (1)

Publication Number Publication Date
CN117441318A true CN117441318A (en) 2024-01-23

Family

ID=86900994

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180098873.9A Pending CN117441318A (en) 2021-12-22 2021-12-22 Multi-protocol data transmission method and device, network and storage medium

Country Status (2)

Country Link
CN (1) CN117441318A (en)
WO (1) WO2023115367A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116193411A (en) * 2023-02-02 2023-05-30 广东为辰信息科技有限公司 Modification and playback method of Bluetooth car control instruction

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116962220A (en) * 2023-09-05 2023-10-27 之江实验室 Full-dimension definable intelligent communication network device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2428114A (en) * 2005-07-08 2007-01-17 William Alan Hollingsworth Data Format Conversion System
CN101771697B (en) * 2010-01-20 2012-08-08 西安电子科技大学 Network data stream identification method based on pattern matching method
CN103281213B (en) * 2013-04-18 2016-04-06 西安交通大学 A kind of network traffic content extracts and analyzes search method
CN110225008B (en) * 2019-05-27 2020-07-31 四川大学 SDN network state consistency verification method in cloud environment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116193411A (en) * 2023-02-02 2023-05-30 广东为辰信息科技有限公司 Modification and playback method of Bluetooth car control instruction

Also Published As

Publication number Publication date
WO2023115367A1 (en) 2023-06-29

Similar Documents

Publication Publication Date Title
Li et al. Protocol oblivious forwarding (POF): Software-defined networking with enhanced programmability
USRE49049E1 (en) Service processing method, device and system
US11637774B2 (en) Service routing packet processing method and apparatus, and network system
EP2544409B1 (en) Generic monitoring packet handling mechanism for OpenFlow 1.1
US11979322B2 (en) Method and apparatus for providing service for traffic flow
EP2959647B1 (en) Method and system for flow table lookup parallelization in a software defined networking (sdn) system
US9258220B2 (en) Communication system, node, control server, communication method and program
JP5742834B2 (en) COMMUNICATION SYSTEM, ROUTE CONTROL DEVICE, PACKET TRANSFER DEVICE, AND ROUTE CONTROL METHOD
US11323366B2 (en) Path determining method, apparatus, and system
EP1158724A2 (en) Packet processor with programmable application logic
US20130177016A1 (en) Communication system, control apparatus, packet handling operation setting method, and program
Li et al. Improving SDN scalability with protocol-oblivious source routing: A system-level study
CN117441318A (en) Multi-protocol data transmission method and device, network and storage medium
TW201933837A (en) Method and system for extracting in-tunnel flow data over a virtual network
CN103546451A (en) Flow based overlay network
KR20140004814A (en) Communication system, node, control server and communication method
CN114465920B (en) Method, device and system for determining corresponding relation
US6697872B1 (en) Distributed packet processing using encapsulation and decapsulation chains
EP3076611B1 (en) Communication system, communication method, network information combination apparatus, and network information combination program
CN115412512B (en) IPv 6-based multi-cloud cross-network intercommunication method and device
KR100579139B1 (en) IP Packet Forwarding Method and Apparatus for ATM Switch-based IP Router, And Routing System using them
CN105830402B (en) The control method and program of packet forwarding system, control device and trunking
US20200044953A1 (en) Data Packet Fast Routing Method
CN114422415B (en) Egress node processing flow in segmented routing
Kataria et al. Programmable Data Plane for New IP using eXpress Data Path (XDP) in Linux

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination