CN117459566A - Method and device for data transmission - Google Patents

Method and device for data transmission Download PDF

Info

Publication number
CN117459566A
CN117459566A CN202210848505.8A CN202210848505A CN117459566A CN 117459566 A CN117459566 A CN 117459566A CN 202210848505 A CN202210848505 A CN 202210848505A CN 117459566 A CN117459566 A CN 117459566A
Authority
CN
China
Prior art keywords
protocol
data
quic
address
stream
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
CN202210848505.8A
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202210848505.8A priority Critical patent/CN117459566A/en
Publication of CN117459566A publication Critical patent/CN117459566A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath

Abstract

The embodiment of the application provides a data transmission method and device, wherein the method comprises the following steps: the first equipment establishes a quick user datagram protocol (QUIC) internet connection with the second equipment; and the first equipment transmits data corresponding to a protocol to the second equipment in a multi-stream mode through the QUIC. The efficiency of data transmission can be improved and the mutual influence of data transmission can be reduced.

Description

Method and device for data transmission
Technical Field
The present application relates to the field of communications, and in particular, to a data transmission method and apparatus.
Background
With the development of communication technology, the requirements for data processing are also increasing. In the internet, an increasing number of protocols are supported for interactions between two or more devices that establish a connection for data transmission, such as border gateway protocol (Border Gateway Protocol, BGP), BGP monitoring protocol (BGP Monitoring Protocol BGP, BMP), resource public key infrastructure to router (Resource Public Key Infrastructure to Router, RTR) protocol, overlay management protocol (Overlay Management Protocol, OMP), etc.
When data is transmitted according to different protocols, how to improve the efficiency of data transmission and reduce the mutual influence during data transmission is a problem to be solved.
Disclosure of Invention
The application provides a data transmission method and device, which can improve the efficiency of data transmission and reduce the mutual influence during data transmission.
In a first aspect, a data transmission method is provided, including: the first device establishes a fast user datagram protocol internet connection (Quick User Datagram Protocol Internet Connections, QUIC) with the second device; and the first equipment transmits the data corresponding to the protocol to the second equipment in a multi-stream mode through the QUIC.
The first device establishes a transport layer connection by handshaking with the second device through the QUIC, and after the connection establishment is completed, the first device can start to transmit data to the second device. Between the first device and the second device, a quench may be established, corresponding to carrying different protocols, where the different protocols may be BGP, BMP, RTR protocols, OMP, other protocols capable of supporting multiple types of network layer reachable information (Network Layer Reachability Information, NLRI Type) characteristics, and the like, and the first device sends data corresponding to BGP, BMP, RTR protocols, OMP, or other protocols capable of supporting multiple types of NLRI Type characteristics to the second device in a multi-stream manner through the quench. Different flows bear different data, so that interference among different data can be effectively reduced, and meanwhile, each flow can independently process and transmit corresponding data without waiting for data of other flows, thereby improving transmission efficiency.
In a possible implementation manner, the protocol is BGP, and the sending, by the first device, the corresponding data to the second device in a multi-stream manner through the QUIC includes: and the first equipment transmits the data of a plurality of address families corresponding to the BGP to the second equipment in a multi-stream mode through the QUIC.
BGP-corresponding address families are the internet protocol fourth unicast (Internet Protocol version 4 Unicast,IPv4 Unicast) address family, the internet protocol sixth unicast (Internet Protocol version 6 Unicast,IPv6 Unicast) address family, the virtual private network fourth unicast (Virtual Private Network version 4 Unicast,VPNv4 Unicast) address family, or the virtual private network sixth unicast (Virtual Private Network version 6 Unicast,VPNv6 Unicast) address family, etc. The data of the plurality of address families can be IPv4 Unicast message, VPNv6 Unicast message and BGP-BGP-LS message correspondingly.
In one possible implementation manner, the data of the plurality of address families is data sent by the first device to the second device after the active-standby switching, where the plurality of address families includes a first address family and a second address family, and the sending, by the first device, the data of the plurality of address families corresponding to the BGP to the second device through the qic in a multi-stream manner includes: after the first address family completes data synchronization, the first device processes the data of the first address family through a first stream borne by the QUIC, so that the data of other address families are prevented from waiting for completing data synchronization; and after the first device processes the data of the first address family, sending a routing table sending End-of-RIB (EOR) message corresponding to the first address family to the second network device.
In one possible implementation manner, the sending, by the first device, the data of the plurality of address families corresponding to the BGP to the second device through the quitc in a multi-stream manner further includes: after the second address family completes data synchronization, the first device processes the data of the second address family through a second stream borne by the QUIC, so that the data of other address families are prevented from waiting for completing data synchronization; and after the first equipment processes the data of the second address group, sending an EOR message corresponding to the second address group to the second network equipment.
It should be noted that, a primary master control board and at least one standby master control board are configured in the first device, the first device adopts NSR technology, the primary master control board will back up the routing and forwarding information to the standby master control board, that is, NSR backup is performed, and the standby master control board can be recorded as the first standby master control board. When the main control board breaks down, the hardware channel of the bottom layer of the first equipment senses the abnormality of the main control board, informs the first standby main control board to lift the main, and simultaneously switches the channel for sending data on the interface board, and switches the subsequent receiving and transmitting data to the first standby main control board. After the first standby main control board rises, the state change during the smooth switching to the interface board becomes a new main control board. In the primary lifting process of the first standby main control board, each BGP address family needs to complete data synchronization and data processing. The address group performs data synchronization corresponding to different streams, and after the data synchronization is completed on the streams, the data processing can be continued, after the data processing is completed, EOR information corresponding to the address group is sent to the second network equipment, and the data synchronization and the data processing are not required to be completed by waiting for the data of other address groups, so that the data transmission efficiency can be improved.
In one possible implementation manner, the plurality of address families further includes a third address family, and the sending, by the first device, the data of the plurality of address families corresponding to the BGP to the second device through the qic in a multi-stream manner further includes: after the third address group completes data synchronization, the first device processes the data of the third address group through a third stream and a fourth stream carried by the QUIC, so that waiting for the data of other address groups to complete data synchronization is avoided; and after the first device processes the data of the third address group, sending an EOR message corresponding to the third address group to the second network device through the third stream or the fourth stream.
In one possible implementation manner, the plurality of address families further includes a fourth address family and a fifth address family, and the sending, by the first device, the data of the plurality of address families corresponding to the BGP to the second device through the qic in a multi-stream manner further includes: after the fourth address family completes data synchronization, the first device processes the data of the fourth address family through a fifth stream borne by the QUIC, and after the fifth address family completes data synchronization, the first device processes the data of the fourth address family through the fifth stream borne by the QUIC, so that waiting for the data of other address families to complete data synchronization is avoided; and after the first device processes the data of the fourth address group and the fifth address group, sending an EOR message corresponding to the fourth address group and an EOR message of the fifth address group to the second network device through the fifth stream.
One QUIC stream can be used by one address family alone or by a plurality of address families, or two QUIC streams are used by one address family, and how many address families are used can be configured according to the transmission needs among devices or the data transmission needs, not limited by the application, so that the processing time of the data of the address families can be flexibly adjusted according to the needs.
In one possible implementation manner, the protocol is BGP monitoring protocol, and the sending, by the first device, data corresponding to the protocol to the second device in a multi-stream manner through the QUIC includes: the first device sends different types of data corresponding to the BMP monitoring through a plurality of streams carried by the QUIC.
In one possible implementation, the different types of data include: BGP-flow rule standard Flowspec message, internet protocol fourth edition IPv4 unicast BMP message, internet protocol sixth edition IPv6 unicast BMP message, virtual private network fourth edition VPNv4 unicast BMP message, virtual private network sixth edition VPNv6 unicast BMP message or BGP-link state LS BMP message.
A plurality of QUICs are established by a first device in one QUIC to establish multi-stream BMP session, and each stream carries BMP data of an address group, which can be IPv4 unicast BMP message, VPNv6 unicast BMP message, BGP-LS BMP message and the like. If the first device needs to cancel the monitoring of the BGP-LS address group, deleting the quit flow corresponding to the BGP-LS address group, and not needing quit flows corresponding to other address groups. Similarly, if the first device increases monitoring on the BGP-Flowspec address family, the first device adds a quit flow to send BMP messages of BGP-Flowspec, where the quit flow corresponding to the original address family is not affected. Thus, each address family corresponds to a QUIC stream, and the addition or removal of one address family does not interfere with the other address families.
In one possible implementation manner, the protocol is an RTR protocol, and the sending, by the first device, data corresponding to the protocol to the second device in a multi-stream manner through the QUIC includes: the first device sends resource public key infrastructure protocol data units (Resource Public Key Infrastructure Protocol Data Units, RPKI PDUs) of different types corresponding to the RTR protocol over a plurality of streams carried by the QUIC.
In one possible implementation, the different types of RPKI PDUs include: prefix internet protocol version four IPv4 Prefix (IPv 4 Prefix) PDUs, prefix internet protocol version six (IPv 6 Prefix) PDUs, autonomous system service provider authentication (Autonomous System Provider Authorization, ASPA) PDUs, and Router Key (Router Key) PDUs.
A QUIC establishes a plurality of QUICs by a first device to establish RTR sessions for a plurality of streams, each stream carrying a type of RPKI PDU. If the first device needs to delete one type of RPKI PDU, it only needs to delete the corresponding quit stream, and no other quit streams are needed. Similarly, if the first device adds a type of RPKI PDU, the first device adds a quench stream for transmission, and the original quench stream is not affected. Thus, the RPKI PDU types correspond to a QUIC stream, and the addition or removal of one address family does not interfere with the other address families.
In a possible implementation manner, the sending, by the first device, the data corresponding to the protocol to the second device in a multi-stream manner through the QUIC further includes: and the first equipment sends RPKI service objects PDUs and RPKI maintenance PDUs through different streams borne by the QUIC.
The first device may also establish a session of two streams, one stream for transmitting RPKI service object PDUs and the other for transmitting RPKI maintenance PDUs, according to the use of the RPKI PDUs. Thus, the problem that RPKI maintenance information is delayed to be released when the information of the RPKI service object PDU is too much can be solved.
In one possible implementation manner, the protocol is the BGP, and the sending, by the first device, data corresponding to the protocol to the second device in a multi-stream manner through the QUIC includes: the first device sends information of different virtual private networks (Virtual Private Network, VPN) corresponding to the BGP through a plurality of streams carried by the QUIC.
In one possible implementation manner, the protocol is OMP, and the sending, by the first device, data corresponding to the protocol to the second device in a multi-stream manner through the QUIC includes: the first device sends information of different virtual private networks VPN corresponding to the OMP through a plurality of streams carried by the QUIC.
In one possible implementation, the information of the different VPNs includes information identifying the release of the different VPNs, the identification including a VPN identification number (Identity document, ID), a VPN route identification (Route Distinguisher, RD), a VPN routing/forwarding table (VPN Routing and Forwarding table, VRF) ID, a VRF name.
Because the information of different VPNs is released separately and different QUIC flows are used respectively, a single VPN fails and the normal operation of other VPNs is not affected. Similarly, when a VPN needs to be added or deleted, the VPN corresponding to the other quitc stream is not affected.
In one possible implementation manner, the protocol is a protocol supporting multiple types of network layer reachability information (Network Layer Reachability Information Type, NLRI Type) characteristics, and the sending, by the first device, data corresponding to the protocol to the second device in a multi-stream manner through the qic includes: and the first equipment correspondingly transmits data with different characteristics through a plurality of streams carried by the QUIC, wherein the data with different characteristics corresponds to the protocol supporting the NLRI Type characteristics of a plurality of types.
In one possible implementation, the protocol supporting the characteristics of multiple types of NLRI types includes: BGP multicast virtual provider network (Multicast Virtual Private Network, MVPN) protocol, BGP ethernet virtual provider network (Ethernet Virtual Private Network, EVPN) protocol, BGP-LS protocol, OMP, or flow rule specification second edition (Flowspec v 2) protocol.
The information of different NLRI types in a single characteristic is sent separately, different QUIC flows are used respectively, one or more NLRI types fail, only the information corresponding to the NLRI type is affected, the corresponding QUIC flow can be deleted, other NLRI types are not affected, the corresponding QUIC flow is added, and the description is omitted.
In a second aspect, there is provided a method of data transmission, comprising: the second device establishes a QUIC with the first device; and the second equipment receives the data which are sent by the first equipment and correspond to the protocol in a multi-stream mode through the QUIC.
In a possible implementation manner, the protocol is BGP, and the receiving, by the second device, data corresponding to the protocol and sent by the first device through the quitc in a multi-stream manner includes: and the second device receives the data of a plurality of address families corresponding to the BGP, which are sent by the first device, in a multi-stream mode through the QUIC.
Because each address group of the first device starts to process the corresponding data after finishing data synchronization, and does not wait for synchronization and processing of other address groups after finishing data processing, and sends the EOR information of the address group to the second network device, the time for the second device to wait for receiving the data of a plurality of address groups corresponding to BGP is shortened, and the convergence time of the second device is effectively reduced.
In a possible implementation manner, the protocol is BMP, and the receiving, by the second device, the data corresponding to the protocol sent by the first device through the qic in a multi-stream manner includes: the second device receives the different types of data monitored by the BMP and sent by the first device through the QUIC in a multi-stream mode.
In one possible implementation manner, the protocol is an RTR protocol, and the receiving, by the second device, the data corresponding to the protocol sent by the first device in a multi-stream manner through the QUIC includes: the second device receives different types of RPKI PDUs of the RTR protocol sent by the first device through the QUIC in a multi-stream manner.
In one possible implementation, the second device receiving, in a multi-stream manner, different types of RPKI PDUs of the RTR protocol sent by the first device through the QUIC includes: and the second equipment receives the RPKI service object PDUs and the RPKI maintenance PDUs sent by the first equipment through different streams borne by the QUIC.
In a possible implementation manner, the protocol is the BGP, and the receiving, by the second device, data corresponding to the protocol and sent by the first device through the quitc in a multi-stream manner includes: the second device receives information of different VPNs of the BGP, which is sent by the first device, through the QUIC in a multi-stream mode.
In one possible implementation manner, the protocol is an overlay management protocol OMP, and the receiving, by the second device, the data corresponding to the protocol sent by the first device through the QUIC in a multi-stream manner includes: the second device receives information of different Virtual Private Networks (VPNs) of the OMP, which is sent by the first device, through the QUIC in a multi-stream mode.
In one possible implementation manner, the protocol is a protocol supporting multiple types of network layer reachability information NLRI Type characteristics, and the receiving, by the second device, data corresponding to the protocol and sent by the first device through the quitc in a multi-stream manner includes: and the second device receives data with different characteristics sent by the first device in a multi-stream mode through the QUIC, wherein the data with different characteristics corresponds to the protocol supporting the NLRI Type characteristics of a plurality of types.
In a third aspect, the present application provides a network device comprising a communication interface for performing the method of any one of the preceding aspects and the transceiving operations involved in any one of the possible implementations of any one of the preceding aspects, and a processor for performing other operations than the transceiving operations involved in the method of any one of the preceding aspects and any one of the possible implementations of any one of the preceding aspects. For example, when the network device according to the third aspect performs the method according to the first aspect as the first device, the processor is configured to establish a QUIC with the second device, and the communication interface is configured to send data corresponding to the protocol to the second device through the QUIC in a multi-stream manner. The network device according to the third aspect is configured, when the network device according to the second aspect is used as the second device, to establish a qic with the first device, where the communication interface is configured to receive, in a multi-stream manner, data corresponding to a protocol sent by the first device through the qic.
In a fourth aspect, the present application provides a communication system comprising: a first device for performing part or all of the operations performed by the first device in the first aspect and any possible implementation manner of the first aspect, and a second device; the second device is configured to perform the second aspect and any part or all of the operations performed by the second device in any possible implementation manner of the second aspect.
In a fifth aspect, the present application provides a computer readable storage medium having instructions stored therein which, when run on a processor, implement a method as described in any one of the preceding aspects and some or all of the operations included in any one of the possible implementations of any one of the preceding aspects.
In a sixth aspect, the present application provides a computer program product comprising instructions which, when run on a processor, implement the method of any one of the preceding aspects and some or all of the operations included in any one of the possible implementations of any one of the preceding aspects.
In a seventh aspect, the present application provides a chip comprising: an interface circuit and a processor. The interface circuit is coupled to the processor for causing the chip to perform some or all of the operations included in the method of any one of the preceding aspects and any possible implementation of any one of the preceding aspects.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the description of the embodiments of the present application will be briefly described below, it being obvious that the drawings in the following description are only some embodiments of the present application, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a schematic flow chart of a method for data transmission according to an embodiment of the present application;
FIG. 2 is a schematic diagram of a first device and a second device according to an embodiment of the present application;
fig. 3 is a schematic diagram of a BGP NSR black-out period test flow according to an embodiment of the present application;
fig. 4 is a time length comparison chart of completing data synchronization of BGP address families according to an embodiment of the present application;
fig. 5 is a schematic diagram of a quitc-based BGP session scenario provided in an embodiment of the present application;
fig. 6 is a time length comparison chart of completing data synchronization of another BGP address family provided in an embodiment of the present application;
fig. 7 is a time length comparison chart of completing data synchronization of another BGP address family provided in an embodiment of the present application;
FIG. 8 is a schematic diagram of a BMP session scenario based on QUIC provided in an embodiment of the present application;
FIG. 9 is a schematic diagram of a QUIC-based RTR session scenario provided in an embodiment of the present application;
FIG. 10 is a schematic diagram of another QUIC-based RTR session scenario provided by an embodiment of the present application;
fig. 11 is a schematic diagram of an OMP or BGP session scenario based on qic provided in an embodiment of the application;
FIG. 12 is a schematic diagram of a QUIC-based session scenario provided in an embodiment of the present application;
fig. 13 is a flowchart of another method for data transmission according to an embodiment of the present application;
fig. 14 is a schematic structural diagram of a network device 30 according to an embodiment of the present application;
fig. 15 is a schematic structural diagram of a network device 40 according to an embodiment of the present application;
fig. 16 is a schematic structural diagram of a network device 50 according to an embodiment of the present application.
Detailed Description
In order to make those skilled in the art better understand the solutions in the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only some embodiments of the present application, but not all embodiments.
The term "and/or" is herein merely an association relationship describing an associated object, meaning that there may be three relationships, e.g., a and/or B, may represent: a exists alone, A and B exist together, and B exists alone.
The terms first and second and the like in the description and in the claims of embodiments of the present application are used for distinguishing between different objects and not necessarily for describing a particular sequential order of objects. For example, the first target object and the second target object, etc., are used to distinguish between different target objects, and are not used to describe a particular order of target objects.
In the embodiments of the present application, words such as "exemplary" or "such as" are used to mean serving as examples, illustrations, or descriptions. Any embodiment or design described herein as "exemplary" or "for example" should not be construed as preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "such as" is intended to present related concepts in a concrete fashion.
In the description of the embodiments of the present application, unless otherwise indicated, the meaning of "a plurality" means two or more. For example, the plurality of processing units refers to two or more processing units; the plurality of systems means two or more systems.
For ease of understanding, the following description will first explain the relevant terms or terminology used in the embodiments of the present application:
1. QUIC protocol
The QUIC protocol is a new, connection-oriented, reliable transport layer protocol that fuses the speed, performance, and security of the user datagram protocol (User Datagram Protocol, UDP) and the transmission control protocol (Transmission Control Protocol, TCP), and is a secure generic transport protocol. The QUIC protocol supports multi-Stream multiplexing, namely, QUIC supports a plurality of parallel streams (Stream), and the normal transmission of other streams is not affected by packet loss of one Stream, so that the problem of blocking of a queue head is avoided, and the data transmission is more efficient.
2. Stream (Stream)
A qic may carry multiple streams, which are unidirectional or bidirectional channels for transmitting data.
3. Active-standby switching
If the main control board of the equipment has software or hardware faults, the standby main control board becomes a new main control board and continues the business process.
4. Non-Stop Routing (NSR) active-standby switching
The NSR is a technology for ensuring that data transmission is not interrupted when equipment performs active-standby switching, and the standby main control board can sense the fault of the active main control board from the bottom layer and automatically lift the main through backing up route information and forwarding information from the active main control board to the standby main control board, so that the backup and recovery of the information can be completed without the cooperation of peripheral equipment. After the standby main control board rises, the service process and other work are continued through the data backed up from the main control board.
5. Period of blackout
After the main control board and the standby main control board are switched, in the time before the standby main control board successfully rises, the main control board and the standby main control board in the main rising process do not process any received protocol message, and the revocation and the release of the route are stagnant for a period of time, which is called a black barrier period of route learning.
6. Address family
The same communication protocol is used for transmitting data and is an address family, and the communication protocol can be IPv4 Unicast protocol, VPNv6 Unicast protocol, BGP-LS protocol and the like.
7. Data synchronization
A consistency check of the data (including the contents of the entries and the number of entries) is done to ensure that the control plane and forwarding plane are consistent between the data manager and the data consumer.
8. Conversations
Is the process of information interaction after connection is established between two devices, and the process starts from connection establishment to disconnection.
9. EOR message
A message in BGP is used to inform the opposite end that the primary route update process after BGP session establishment is completed.
Fig. 1 is a flow chart of a method for data transmission according to an embodiment of the present application, as shown in fig. 1, including:
s101, the first device and the second device establish QUIC.
The QUIC supports the first establishment of connection (1 Round-Trip Time, 1-RTT), can integrate the handshake process and the encryption information interaction process, can complete the encryption information interaction and realize the establishment of adjacent space through two handshakes, and the QUIC supports multi-stream multiplexing, namely, the QUIC supports a plurality of parallel streams, the normal transmission of other streams is not influenced by the packet loss of one stream, the problem of blocking the queue head is avoided, and the data transmission is more efficient. Fig. 2 is a schematic diagram of establishing a quench between a first device and a second device according to the embodiment of the present application, where, as shown in fig. 2, the first device establishes a transport layer connection with the second device through handshake between the quench and the second device, and after connection establishment is completed, the first device may start data transmission to the second device.
S102, the first device sends data corresponding to the protocol to the second device in a multi-stream mode through the QUIC.
In some examples, a QUIC may be established between the first device and the second device, and may carry a different protocol, e.g., a QUIC protocol number is populated with a number corresponding to BGP, and the QUIC protocol carries BGP thereon (i.e., the QUIC is available for use by BGP). The protocol corresponding to the protocol number may be BGP, BMP, RTR protocol, OMP, etc.
For example, the first device and the second device establish the qic and may carry BGP, and the first device sends data corresponding to BGP to the second device in a multi-stream manner. For example, the first device and the second device both transmit data through BGP, where the first device is configured with a primary master control board and at least one standby master control board, and the first device adopts NSR technology, where the primary master control board backs up routing and forwarding information to the standby master control board, performs NSR backup, where the data may be routing information and forwarding information, and the standby master control board may be recorded as the first standby master control board. When the main control board fails, the first equipment senses that the main control board is abnormal, and then the first standby main control board rises to drive the main control board, meanwhile, the channel for transmitting data on the interface board is switched, and the data transmitted and received by the control surface is switched to the first standby main control board. After the first standby main control board rises, the state change during the smooth switching to the interface board becomes a new main control board, and the new main control board performs NSR backup to other standby main control boards. The NSR technology can ensure that the control layer connection and the forwarding layer of the node do not interrupt work when the control layer of the node fails (the failure caused by the failure of the main control board) under the condition that the neighbor node is not needed to help. The main control board and the standby main control board are switched to have a black-out period, and during the black-out period, the main control board and the standby main control board do not process any received protocol message. Therefore, the black out period is shortened, the data processing efficiency of the first device can be improved, and the time for the second device to wait for the first device to send data can be correspondingly reduced, namely the convergence time of the second device is reduced.
Fig. 3 is a schematic diagram of a BGP NSR black-out period test flow provided in the embodiment of the present application, where a first test device drives a flow into a first device, then a second test device sends a large number of BGP routes to the first device that enables BGP NSR, the obtained test result is shown in fig. 3, where a horizontal axis in fig. 3 represents time, a vertical axis represents throughput of the flow, a time T3 represents that the first device starts to receive the routes, the flow starts to change, the flow starts to gradually rise from the time T3, at the time T4, the primary master control board and the standby master control board switch, from T4 to T5, the flow is unchanged, which means that the first device does not process routes, is in the black-out period, from the time T5, the first device starts to process routes, the flow rises, the primary standby switching is completed, the new primary master control board is completely ready, from the time T6, the first device receives all routes, and at the same time, the flow corresponding to all routes is in a smooth state, and the flow is maintained stably. As shown in fig. 3, the duration of T4 to T5 represents the time consumption of the black out period, and in the prior art, during NSR active-standby switching of the first device, a plurality of address families share one stream for data synchronization. For example, there are 4 BGP address families, and the communication protocols for the address families are respectively IPv4 Unicast protocol, VPNv6 Unicast protocol and BGP-Link-State (BGP-LS) protocol, and the four address families serially process data on the same stream. During the NSR active-standby switching, each BGP address family completes data synchronization and data processing (i.e., message processing). The duration of finishing data synchronization of each BGP address family is different, and the data synchronization can be that after a primary master control board of a first standby among first devices rises, data synchronization of each module of the primary master control board is performed, for example, there are A, B, C modules in the primary master control board after the primary master control board rises, wherein the module a backs up 87 seconds of data, the module B backs up 88 seconds of data, the module C backs up 89 seconds of data, after detection, it is determined that only 87 seconds of data are available, the data of the module B and the data of the module C are calibrated for 87 seconds, and the data synchronization of each module is completed. Fig. 4 is a comparison chart of time length for completing data synchronization of a BGP address family provided in this embodiment, as shown in fig. 4, where the data synchronization time is longest, and generally, an IPv4 unicast address family carrying a large number of Internet (Internet) routes needs to complete synchronization by time t6, while other address families complete data synchronization at time earlier than time t6, for example, the BGP-LS address family completes data synchronization at time t1, the VPNv6 unicast address family completes data synchronization at time t2, and the VPNv4 unicast address family completes data synchronization at time t 3. Because the four address families process data serially on the same stream, although the other 3 address families except the address family of the IPv4 unicast have completed data synchronization, the first device still needs to wait until the IPv4 unicast address family also completes data synchronization (namely, the four address families complete data synchronization), and can start processing protocol messages of each address family.
The embodiment of the application provides a method for accelerating route synchronization during NSR active-standby switching, wherein a first device establishes a BGP session scene based on QUIC, namely, the first device sends data corresponding to BGP to a second device in a multi-stream mode through QUIC. In some examples, the first device sends data of a plurality of address families corresponding to BGP to the second device in a multi-stream manner through the qic, where the data of the plurality of address families are data sent to the second device by the first device after the active/standby switching, and the plurality of address families include a first address family and a second address family, and after the data synchronization of the first address family is completed, the first device processes the data of the first address family through a first stream carried by the qic, so as to avoid waiting for the data of other address families to complete the data synchronization; after the first device processes the data of the first address group, an EOR message corresponding to the first address group is sent to the second network device. In some examples, after the second address family completes data synchronization, the first device processes the data of the second address family through a second stream carried by the QUIC, avoiding waiting for the data of other address families to complete data synchronization; and after the first equipment processes the data of the second address group, sending an EOR message corresponding to the second address group to the second network equipment. In some examples, the plurality of address families includes four address families, for example, fig. 5 is a schematic diagram of a quit-based BGP session scenario provided in an embodiment of the present application, as shown in fig. 5, between a first device and a second device, where the first device deploys BGP NSR functions and establishes 4 quit streams (quit Stream) in one quit. The QUIC flow 1 supports the transceiving of IPv4 unicast protocol data, the QUIC flow 2 supports the transceiving of VPNv4 unicast protocol data, the QUIC flow 3 supports the transceiving of VPNv6 unicast protocol data, and the QUIC flow 4 supports the transceiving of BGP-LS protocol data. Referring to the data synchronization time of fig. 4, at time t0, the first device performs active-standby switching, the four address groups start respective data synchronization, and the BGP-LS address group completes data synchronization at time t1, so after completing data synchronization, the BGP-LS address group does not need to wait for the data synchronization state of other address groups, immediately starts processing BGP-LS protocol messages, and after finishing BGP-LS protocol message processing, does not need to wait for the processing progress of other address groups, and the first device sends EOR messages of BGP-LS address groups to the second device through the qic stream 4. At time t2, the VPNv6 unicast address group completes data synchronization processing without waiting for the data synchronization state of other address groups, the VPNv6 unicast address group immediately starts processing the VPNv6 protocol message, after processing the VPNv6 protocol message, the first device sends the VPNv6 address group EOR message to the second device without waiting for the processing progress of the other address groups. Similarly, the data processing of the VPNv4 address family at the time t3 and the data processing of the IPv4 unicast address family at the time t6 are the same, and the description is not repeated.
According to the method provided by the embodiment of the application, the QUIC processes and transmits the data corresponding to the BGP in a multi-stream mode to the second device, different address families use different QUIC streams, and during the main/standby switching period of the BGP NSR, each address family can start to process a protocol message after finishing data synchronization, and the waiting for the other address families to finish data synchronization is omitted, so that invalid waiting time is reduced, and the duration of route convergence of the second device can be shortened during the main/standby switching period of the first device.
Further, multiple streams can be used by one address family, for example, the multiple address families further comprise a third address family, the third address family uses two streams, and after the third address family completes data synchronization, the first device processes the data of the third address family through a third stream and a fourth stream carried by the QUIC, so that waiting for the data of other address families to complete data synchronization is avoided; after the first device processes the data of the third address group, the EOR message corresponding to the third address group is sent to the second network device through the third stream or the fourth stream.
Or, the multiple address families may share one stream, for example, the multiple address families further include a fourth address family and a fifth address family, the two address families share one stream, after the fourth address family completes data synchronization, the first device processes the data of the fourth address family through a fifth stream carried by the qic, and after the fifth address family completes data synchronization, the first device processes the data of the fourth address family through a fifth stream carried by the qic, so as to avoid waiting for the data of other address families to complete data synchronization; after the first device processes the data of the fourth address group and the fifth address group, the first device sends an EOR message corresponding to the fourth address group and an EOR message of the fifth address group to the second network device through a fifth stream.
For example, one qic stream may be used by one address family alone, or may be used by a plurality of address families, for example, during NSR active/standby switching of the first device, there are 4 BGP address families that perform data synchronization and protocol message processing through three qic streams, where the communication protocols for the address families are respectively an IPv4 Unicast protocol, a VPNv6 Unicast protocol, and a BGP-LS protocol, and fig. 6 is a comparison diagram of time periods when the other BGP address families provided in the embodiment of the present application complete data synchronization, as shown in fig. 6, qic stream 1 supports IPv4 Unicast protocol data transceiving, qic stream 2 supports VPNv4 Unicast protocol data transceiving, and qic stream 3 supports VPNv6 Unicast protocol data transceiving and BGP-LS protocol data transceiving. In this way, the times for data synchronization and protocol message processing are substantially identical on QUIC stream 2 and QUIC stream 3.
Alternatively, both QUIC streams may be used by one address family, e.g., IPv4 unicast address family may use QUIC stream 1 and QUIC stream 2. During the NSR active-standby switching of the first device, there are 4 BGP address families that perform data synchronization and protocol message processing through five QUIC flows, where the communication protocols used by the address families are respectively an IPv4 Unicast protocol, a VPNv4 Unicast protocol, and a VPNv6 Unicast protocol and a BGP-LS protocol, fig. 7 is a comparison chart of time periods when the data synchronization of another BGP address family provided in the embodiment of the present application is completed, as shown in fig. 7, QUIC flows 1 and 2 support the sending and receiving of IPv4 Unicast protocol data, QUIC flow 3 support the sending and receiving of VPNv4 Unicast protocol data, QUIC flow 4 supports the sending and receiving of VPNv6 Unicast protocol data, and QUIC flow 5 supports the sending and receiving of BGP-LS protocol data. Therefore, the transceiving time of the IPv4 unicast protocol data can be shortened, and the time consumption of the whole black out period is reduced.
In addition, during the NSR main/standby switching of the first device, 4 BGP address families respectively perform data synchronization and protocol message processing through four QUIC flows, wherein the communication protocols for the address families are respectively IPv4 Unicast protocol, VPNv6 Unicast protocol and BGP-LS protocol, QUIC flow 1 and QUIC flow 2 support the transceiving of IPv4 Unicast protocol data, QUIC flow 3 supports the transceiving of VPNv4 Unicast protocol data, and QUIC flow 4 supports the transceiving of VPNv6 Unicast protocol data and the transceiving of BGP-LS protocol data. Therefore, the transceiving time length of the data of all address families is basically consistent, the utilization rate of the QUIC stream can be improved, and the black barrier period can be effectively shortened.
The embodiments of the present application are described by taking two streams for one address family or one stream for two address families as an example, but are not limited thereto.
In some examples, when the protocol corresponding to the quit is BMP, different quit flows may be used by different address families to achieve the purpose of monitoring each address family of BGP as required, that is, the first device may send different types of data corresponding to BMP through multiple flows carried by the quit, where BMP is used to monitor BGP, and may monitor, in real time, the BGP running state of the device in which the first device is located, where the device is connected to the first device, such as the BGP running state of the second device, where BGP running state may include routing information refresh, etc., and the different types of data may include, but are not limited to, BMP messages unicast by IPv4, BMP messages unicast by VPNv6, and BMP messages of BGP-LS. In the prior art, once a problem occurs in monitoring corresponding to a certain running state, a first device needs to disable a corresponding address group, i.e. cancel monitoring of a corresponding address group, or add a new address group to be monitored, and restart (reset) BMP sessions are required to solve the problems, which affects monitoring of all address groups carried on the BMP sessions. In this embodiment of the present application, if the first device is a BMP client and the second device is a BMP server, where the BMP client and the BMP server can establish a BMP session, fig. 8 is a schematic diagram of a BMP session scenario based on a qic provided in this embodiment of the present application, in this BMP session, 4 qic flows are initiated by the BMP client in a qic, the BMP session carries BMP data of 4 address groups, which may be an IPv4 unicast BMP message, a VPNv6 unicast BMP message, and a BGP-LS BMP message, respectively, where qic flow 1 supports release of an IPv4 unicast BMP message to the BMP server, flow 2 supports release of a VPNv4 unicast BMP message to the BMP server, flow 3 supports release of a VPNv6 unicast BMP message to the BMP server, and flow 4 supports release of a BGP-LS BMP message to the BMP server. In some examples, the BMP client has disabled monitoring of the BGP-LS address family, at which point the qic between BMP client and BMP server remains unchanged, and BMP client deletes the qic stream corresponding to the BGP-LS address family, corresponding to the example described above, namely deleting qic stream 4, and the qic streams corresponding to the other 3 address families are unaffected. In some examples, the BMP client increases monitoring on BGP-Flowspec address groups, at this time, the qic between the BMP client and BMP server remains unchanged, the BMP client adds a new qic stream, denoted as stream 5, and stream 5 supports BMP messages supporting BGP-Flowspec release to the BMP server, and the qic streams corresponding to the original 4 address groups are not affected.
In some examples, the RTR (RPKI RTR) protocol supports qic, different resource public Key infrastructure (Resource Public Key Infrastructure, RPKI) objects use different qic flows, i.e. the first device may send different types of RPKI PDUs corresponding to the RTR protocol through multiple flows carried by qic, e.g. the first device is a network device and the second device is a Relying Party (RPKI cache verifier) (retrieval Party (RPKI Cache Validator), RP) server side, in which a TCP-based RTR session is established between the network device and the RP server side, in which different types of RPKI PDUs, such as IPv4 Prefix PDU, IPv6 Prefix PDU, ASPA PDU, router Key PDU or RPKI maintenance PDU, are carried simultaneously. And the messages of the RPKI PDUs are mixed together and are transmitted in series on one stream, and besides, the RPKI PDUs maintained by some users are also mixed and transmitted on the same stream to mutually interfere, so that when the information of the current type is excessive, the maintenance information can be delayed to be transmitted, and the problems of untimely maintenance and the like are caused. In this embodiment of the present application, a network device and an RP server end establish an RTR session based on multiple flows, and fig. 9 is a schematic diagram of an RTR session scene based on a qic provided in this embodiment of the present application, as shown in fig. 9, 3 qic flows are established in the qic, flow 1 supports release of IPv4 Prefix PDU information, flow 2 supports release of IPv6 Prefix PDU information, and flow 3 supports release of Router Key PDU information. In some examples, the RP server disables the issuance of Router Key PDUs, and at this time, the qic between the network device and the RP server remains unchanged, and the RP server deletes the qic flow corresponding to the Router Key PDUs, i.e., flow 3, and flows 1 and 2 corresponding to other IPv4 Prefix PDUs are not affected. In some examples, the RP server increases the distribution of ASPA PDUs, at which time the quench between the network device and the RP server remains unchanged, and the RP server newly creates a quench stream, denoted as stream 4, for distributing ASPA PDU information to the network device, and the quench streams corresponding to other RPKI PDUs are unaffected. According to the data transmission method provided by the embodiment of the application, one RPKI PDU is added or one RPKI PDU is deleted, the RTR session does not need to be restarted, and the release of other RPKI PDU information carried on the RTR session is not influenced. In practical application, the RPKI PDU maintained by the user can be newly added with a single stream for release, so that the problem that the release of the RPKI maintenance information is delayed when the information of the RPKI service object PDU is excessive is solved.
Further, fig. 10 is a schematic diagram of another exemplary QUIC-based RTR session scenario provided in this embodiment of the present application, as shown in fig. 10, where a first device sends RPKI service objects PDUs and RPKI maintenance PDUs through different streams carried by a QUIC, where the PDUs of the RPKI service objects and the PDUs of the RPKI maintenance may be published using different QUIC flows, for example, 2 QUIC flows are established in the QUIC, flow 1 supports publishing of the PDUs of the RPKI service objects, for example, flow 1 supports publishing of IPv4 Prefix PDU and ASPA PDU information, and flow 2 supports publishing of the PDUs of the RPKI maintenance, for example, publishing of various PDU information for maintenance. The two streams are only examples and are not limiting. Thus, the problem that RPKI maintenance information is delayed to be released when the information of the RPKI service object PDU is too much can be solved.
In some examples, OMPs or BGP support quits, different VPN information uses different quit flows, i.e., the first device may send different VPN information for the OMPs over multiple flows carried by the quits, or the first device may send different VPN information for BGP over multiple flows carried by the quits. In the prior art, a BGP or OMP session based on TCP is established between a first device and a second device, and in this session, a plurality of VPN messages are carried simultaneously, where the VPN messages are mixed together and are sent serially and interfere with each other, and when information of one VPN is problematic, for example, TCP connection is blocked, other VPN information cannot be received and transmitted, and the corresponding VPN cannot work normally. Fig. 11 is a schematic diagram of an OMP or BGP session scenario based on qic provided in the embodiment of the present application, as shown in fig. 11, 3 qic flows are established in qic, flow 1 is used for publishing VPN information of VPN 10 to a first device, flow 2 is used for publishing VPN information of VPN 20 to a second device, and flow 3 is used for publishing VPN information of VPN 30 to the first device. In the above example of the present embodiment, "VPN 10" indicates that a VPN exists in the network device, and the identifier may be VPN ID 10, which is denoted VPN 10. Those skilled in the art can extend that other identifiers for identifying a VPN, such as VPN RD, VRF ID, VRF name, etc., are within the scope of protection of the present application. Because the information of different VPNs is released separately and different QUIC flows are used respectively, a single VPN fails and the normal operation of other VPNs is not affected. Similarly, when a VPN needs to be added or deleted, the VPN corresponding to the other quitc stream is not affected.
In some examples, there are protocols capable of supporting multiple types of NLRI Type characteristics, such as BGP MVPN protocol, BGP Ethernet VPN protocol, BGP-LS protocol, OMP and Flowspec v2 protocol, which support the use of different QUIC Stream IDs to send routing information of different NLRI types, which is exemplified by BGP EVPN protocol, and other protocols are not developed. In the prior art, a session based on TCP is established between a first device and a second device, in which multiple types of NLRI information of EVPN are simultaneously carried in the session, and these different types of NLRI information of the same EVPN feature are mixed together and sent serially, and interfere with each other, and when one Type of information of the NLRI Type (Type) is problematic, for example, the TCP connection is blocked or the message format is wrong, the other Type of information of the NLRI cannot be exchanged normally. Fig. 12 is a schematic diagram of a quitc-based session scenario provided in an embodiment of the present application, as shown in fig. 12, a first device and a second device establish a quitc-based session, and in quitc, the first device and the second device establish 4 quitc flows, wherein flow 1 is used for the second device to issue information of EVPN types 1 and 4 to the first device, flow 2 is used for the first device to issue information of EVPN Type 2 to the second device, flow 3 is used for the second device to issue information of EVPN Type 3 to the first device, and flow 4 is used for the second device to issue information of EVPN Type 5 to the first device. The information of different NLRI types in a single characteristic is sent separately, different QUIC flows are used respectively, one or more NLRI types fail, only the information corresponding to the NLRI type is affected, the corresponding QUIC flows can be deleted, and other NLRI types are not affected. In this embodiment, BGP EVPN is taken as an example, and characteristics of supporting multiple NLRI types in a single characteristic such as BGP MVPN protocol, BGP-LS protocol, OMP and Flowspec v2 protocol are also applied to this scheme.
Fig. 13 is a flowchart of another method for data transmission according to an embodiment of the present application, as shown in fig. 13, where the method includes:
s201, the second device establishes QUIC with the first device.
S202, the second device receives data corresponding to the protocol, which is sent by the first device, in a multi-stream mode through the QUIC.
In one possible implementation, the protocol is BGP, and receiving, by the second device, data corresponding to the protocol and sent by the first device in a multi-stream manner through the quitc includes: the second device receives data of a plurality of address families corresponding to BGP, which are sent by the first device, in a multi-stream mode through QUIC.
Because each address group of the first device starts to process the corresponding data after finishing data synchronization, and does not wait for synchronization and processing of other address groups after finishing data processing, and sends the EOR information of the address group to the second network device, the time for the second device to wait for receiving the data of a plurality of address groups corresponding to BGP is shortened, and the convergence time of the second device is effectively reduced.
In one possible implementation, the protocol is BMP, and the second device receiving, in a multi-stream manner, data corresponding to the protocol sent by the first device through the QUIC includes: the second device receives the BMP-monitored different types of data sent by the first device in a multi-stream manner through the QUIC.
In one possible implementation, the protocol is an RTR protocol, and the second device receiving, in a multi-stream manner, data corresponding to the protocol sent by the first device through the QUIC includes: the second device receives, in a multi-stream manner, the different types of resource public key infrastructure protocol data units RPKI PDU of the RTR protocol sent by the first device through the QUIC.
In one possible implementation, the second device receiving, in a multi-stream manner, different types of resource public key infrastructure protocol data units RPKI PDUs of the RTR protocol sent by the first device through the qic includes: the second device receives the RPKI service object PDUs and the RPKI maintenance PDUs sent by the first device through different streams carried by the QUIC.
In one possible implementation, the protocol is BGP, and receiving, by the second device, data corresponding to the protocol and sent by the first device in a multi-stream manner through the quitc includes: the second device receives information of different virtual private networks VPN of BGP, which is sent by the first device, through QUIC in a multi-stream mode.
In one possible implementation, the protocol is an overlay management protocol OMP, and receiving, by the second device, data corresponding to the protocol and sent by the first device in a multi-stream manner through the qic includes: the second device receives information of different virtual private networks VPN of OMP sent by the first device in a multi-stream manner through the qic.
In one possible implementation manner, the protocol is a protocol supporting multiple types of network layer reachability information NLRI Type characteristics, and the second device receiving, in a multi-stream manner, data corresponding to the protocol and sent by the first device through the qic includes: the second device receives data with different characteristics sent by the first device in a multi-stream mode through the QUIC, wherein the data with different characteristics corresponds to protocols supporting NLRI Type characteristics of multiple types.
In addition, the embodiment of the application further provides a network device 30, as shown in fig. 14, and fig. 14 is a schematic structural diagram of the network device 30 in the embodiment of the application. The network device 30 shown in fig. 14 includes a transceiver unit 301 and a processing unit 302. The network device 30 may be used to perform the methods S101 to S102 in the above embodiments, or to perform S201 to S202. When the network device 30 is used to perform the methods S101 to S102 in the above embodiments, the network device 30 corresponds to the first device exemplified in the method. The network device 30 may be applied in the application scenario shown in fig. 2-12, and may be, for example, the first device in fig. 5, the border gateway protocol monitoring protocol client in fig. 8, etc. The transceiver unit 301 is configured to perform a transceiver operation performed by the first device. The processing unit 302 is configured to perform operations performed by the first device other than the transceiving operation. For example, the processing unit 302 is configured to establish a qic with the second device. The transceiver unit 301 sends data corresponding to the protocol to the second device in a multi-stream manner through the QUIC.
When the network device 30 is used to perform the methods S201 to S202 in the above embodiments, the network device 30 corresponds to the second device in the methods S201 to S202. The network device 30 may be applied in the application scenario shown in fig. 2-12, for example, the border gateway protocol monitoring protocol server in the scenario shown in fig. 8 or the relying party server in fig. 9. The transceiver 301 is configured to perform a transceiver operation performed by the second device. The processing unit 302 is configured to perform operations performed by the second device other than the transceiving operation. For example:
the processing unit 302 is configured to establish a QUIC with the first device.
The transceiver 301 is configured to receive, in a multi-stream manner, data corresponding to a protocol sent by the first device through the QUIC.
It should be noted that, in the embodiment of the present application, the division of the units is schematic, which is merely a logic function division, and other division manners may be implemented in actual practice. Each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. For example, in the above embodiment, the transceiver unit 301 and the processing unit 302 may be the same unit or may be different units. The integrated units described above may be implemented either in hardware, e.g. in chips, or in software functional units.
In addition, the embodiment of the present application further provides a network device 40, as shown in fig. 15, and fig. 15 is a schematic structural diagram of the network device 40 in the embodiment of the present application. The network device 40 comprises a communication interface 401 and a processor 402 connected to the communication interface 401. The communication interface is for example a device such as a transceiver. The network device 40 may be used to perform the methods in the above embodiments. Specifically, the network device 40 may perform the operations of the methods S101 to S102 performed by the first device as the network device 1, and the network device 40 may perform the operations of the methods S201 to S202 performed by the second device as the network device 2. Wherein the communication interface 401 is used for performing transceiving operations by a device in the method. The processor 402 is configured to perform operations other than the transceiving operations performed by the device 2 in the method. Wherein the communication interface 401 is configured to perform the transceiving operations performed by the first device in methods S101 to S102 or methods S201 to S202. The processor 402 is configured to perform operations other than the transceiving operations performed by the second device in the methods S101 to S102 or the methods S201 to S202. For example, when network device 40 is executing as a first device, processor 402 establishes a QUIC with a second device. The communication interface 401 is configured to send data corresponding to the protocol to the second device in a multi-stream manner through the QUIC. When the network device 40 is executing as a second device, the processor 402 establishes a QUIC with the first device. The communication interface 401 is configured to receive, in a multi-stream manner, data corresponding to a protocol sent by the first device through the quitc.
In addition, the embodiment of the present application further provides a network device 50, as shown in fig. 16, and fig. 16 is a schematic structural diagram of the network device 50 provided in the embodiment of the present application. As shown in fig. 16, the network device 50 may include a processor 501, a memory 502 coupled to the processor 501, and a transceiver 503. The transceiver 503 may be a communication interface, an optical module, etc. for receiving messages or data information, etc. The processor 501 may be a central processing unit (central processing unit, CPU), a network processor (network processor, NP) or a combination of CPU and NP for performing the forwarding process related steps in the apparatus exemplified by the above embodiments. The processor may also be an application-specific integrated circuit (ASIC), a programmable logic device (programmable logic device, PLD), or a combination thereof. The PLD may be a complex programmable logic device (complex programmable logic device, CPLD), a field-programmable gate array (field-programmable gate array, FPGA), general-purpose array logic (generic array logic, GAL), or any combination thereof. Processor 501 may refer to one processor or may include multiple processors. The memory 502 may include volatile memory (RAM), such as random-access memory (RAM); the memory may also include a nonvolatile memory (non-volatile memory), such as a read-only memory (ROM), a flash memory (flash memory), a hard disk (HDD) or a Solid State Drive (SSD); memory 502 may also include a combination of the types of memory described above. Memory 502 may refer to a single memory or may include multiple memories for storing program instructions. In one embodiment, memory 502 has stored therein computer readable instructions comprising a plurality of software modules, such as a transmit module, a process module, and a receive module. The processor 501, after executing the respective software modules, may perform corresponding operations as directed by the respective software modules. In this embodiment, the operations performed by one software module actually refer to operations performed by the processor 501 according to instructions of the software module. Alternatively, the processor 501 may store program code or instructions for performing the embodiments of the present application, in which case the processor 501 need not read the program code or instructions into the memory 502.
The network device 50 may be used to perform the methods in the above embodiments. Specifically, the network device 50 may perform the operations of the methods S101 to S102 performed by the first device as the network device 1, and the network device 50 may perform the operations of the methods S201 to S202 performed by the second device as the network device 2. For example, when the network device 50 is executed as a first device, said processor 501 is adapted to execute the relevant instructions in said memory 502, such that the network device 50 is adapted to establish a QUIC with a second device; and sending the data corresponding to the protocol to the second device in a multi-stream mode through the QUIC.
Embodiments of the present application also provide a computer-readable storage medium having instructions stored therein that, when executed on a processor, implement some or all of the operations in any of the methods of any of the preceding embodiments.
Embodiments of the present application also provide a computer program product comprising a computer program which, when run on a processor, implements part or all of the operations of any of the methods described in any of the preceding embodiments.
The embodiment of the application also provides a communication system, which comprises a first device and a second device, wherein the first device is a network device with a structure corresponding to fig. 14, 15 or 16, and the second device is a network device with a structure corresponding to fig. 14, 15 or 16. The communication system described above is configured to implement some or all of the operations in any of the methods described in any of the preceding embodiments.
The present application also provides another communication system, including at least one memory and at least one processor, where the at least one memory stores instructions that, when executed, cause the communication system to implement some or all of the operations in any of the methods described in any of the previous embodiments.
The embodiment of the application also provides a chip, which comprises: an interface circuit and a processor. The interface circuit is connected to the processor for causing the chip to perform part or all of the operations of any of the methods described in any of the preceding embodiments.
The embodiment of the application also provides a chip system, which comprises: a processor coupled to a memory for storing programs or instructions which, when executed by the processor, cause the system-on-a-chip to perform part or all of the operations of any of the methods of any of the preceding embodiments.
Alternatively, the processor in the system-on-chip may be one or more. The processor may be implemented in hardware or in software. When implemented in hardware, the processor may be a logic circuit, an integrated circuit, or the like. When implemented in software, the processor may be a general purpose processor, implemented by reading software code stored in a memory.
Alternatively, the memory in the system-on-chip may be one or more. The memory may be integrated with the processor or may be separate from the processor, and embodiments of the present application are not limited. For example, the memory may be a non-transitory processor, such as a ROM, which may be integrated on the same chip as the processor, or may be separately provided on different chips, and the type of memory and the manner of providing the memory and the processor in the embodiments of the present application are not specifically limited.
The system-on-chip may be, for example, an FPGA, an ASIC, a system-on-chip (SoC), a CPU, an NP, a digital signal processing circuit (digital signal processor, DSP), a microcontroller (micro controller unit, MCU), a programmable controller (programmable logic device, PLD) or other integrated chips.
The terms "first," "second," "third," "fourth" and the like in the description and in the claims of this application and in the above-described figures, if any, are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that the embodiments described herein may be implemented in other sequences than those illustrated or otherwise described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
It will be clear to those skilled in the art that, for convenience and brevity of description, specific working procedures of the above-described systems, apparatuses and units may refer to corresponding procedures in the foregoing method embodiments, which are not repeated herein.
In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, e.g., the division of units is merely a logical service division, and there may be additional divisions in actual implementation, e.g., multiple units or components may be combined or integrated into another system, or some features may be omitted, or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed over a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each service unit in each embodiment of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software business units.
The integrated units, if implemented in the form of software business units and sold or used as stand-alone products, may be stored in a computer readable storage medium. With such understanding, all or part of the technical solutions of the present application may be embodied in the form of a software product stored in a storage medium, including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods of the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
Those of skill in the art will appreciate that in one or more of the examples described above, the services described herein may be implemented in hardware, software, firmware, or any combination thereof. When implemented in software, the services may be stored in a computer-readable medium or transmitted as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that can be accessed by a general purpose or special purpose computer.
The foregoing embodiments have been provided for the purpose of illustrating the objects, technical solutions and advantageous effects of the present application in further detail, and it should be understood that the foregoing embodiments are merely exemplary embodiments of the present application.
The above embodiments are only for illustrating the technical solution of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit of the corresponding technical solutions from the scope of the technical solutions of the embodiments of the present application.

Claims (40)

1. A method of data transmission, comprising:
the first equipment establishes a quick user datagram protocol (QUIC) internet connection with the second equipment;
and the first equipment transmits data corresponding to a protocol to the second equipment in a multi-stream mode through the QUIC.
2. The method of claim 1, wherein the step of determining the position of the substrate comprises,
the protocol is the border gateway protocol BGP,
the first device sending corresponding data to the second device in a multi-stream manner through the QUIC comprises:
and the first equipment transmits the data of a plurality of address families corresponding to the BGP to the second equipment in a multi-stream mode through the QUIC.
3. The method of claim 2, wherein the step of determining the position of the substrate comprises,
the data of the plurality of address families are the data sent to the second device by the first device after the main-standby switching, the plurality of address families comprise a first address family and a second address family,
the first device sending the data of the plurality of address families corresponding to the BGP to the second device in a multi-stream manner through the quitc, wherein the sending comprises:
after the first address family completes data synchronization, the first device processes the data of the first address family through a first stream borne by the QUIC, so that the data of other address families are prevented from waiting for completing data synchronization;
And after the first device processes the data of the first address group, sending an EOR message after the routing table corresponding to the first address group is sent to the second network device.
4. A method according to claim 2 or 3, wherein the first device sending data of the BGP corresponding address families to the second device in a multi-stream manner through the qic further comprises:
after the second address family completes data synchronization, the first device processes the data of the second address family through a second stream borne by the QUIC, so that the data of other address families are prevented from waiting for completing data synchronization;
and after the first equipment processes the data of the second address group, sending an EOR message corresponding to the second address group to the second network equipment.
5. The method according to claim 2 to 4, wherein,
the plurality of address families further includes a third address family,
the first device sending the data of the plurality of address families corresponding to the BGP to the second device in a multi-stream manner through the quitc further includes:
after the third address group completes data synchronization, the first device processes the data of the third address group through a third stream and a fourth stream carried by the QUIC, so that waiting for the data of other address groups to complete data synchronization is avoided;
And after the first device processes the data of the third address group, sending an EOR message corresponding to the third address group to the second network device through the third stream or the fourth stream.
6. The method according to claim 2 to 5, wherein,
the plurality of address families further includes a fourth address family and a fifth address family,
the first device sending the data of the plurality of address families corresponding to the BGP to the second device in a multi-stream manner through the quitc further includes:
after the fourth address family completes data synchronization, the first device processes the data of the fourth address family through a fifth stream borne by the QUIC, and after the fifth address family completes data synchronization, the first device processes the data of the fourth address family through the fifth stream borne by the QUIC, so that waiting for the data of other address families to complete data synchronization is avoided;
and after the first device processes the data of the fourth address group and the fifth address group, sending an EOR message corresponding to the fourth address group and an EOR message of the fifth address group to the second network device through the fifth stream.
7. The method of claim 1, wherein the step of determining the position of the substrate comprises,
The protocol is the border gateway monitoring protocol BMP,
the first device sending data corresponding to a protocol to the second device in a multi-stream manner through the QUIC comprises:
the first device sends different types of data corresponding to the BMP monitoring through a plurality of streams carried by the QUIC.
8. The method of claim 7, wherein the different types of data comprise: BGP-flow rule standard Flowspec message, internet protocol fourth edition IPv4 unicast BMP message, internet protocol sixth edition IPv6 unicast BMP message, virtual private network fourth edition VPNv4 unicast BMP message, virtual private network sixth edition VPNv6 unicast BMP message or BGP-link state LS BMP message.
9. The method of claim 1, wherein the step of determining the position of the substrate comprises,
the protocol is a resource public key infrastructure to router RTR protocol,
the first device sending data corresponding to a protocol to the second device in a multi-stream manner through the QUIC comprises:
the first device sends, via a plurality of streams carried by the QUIC, different types of resource public key infrastructure protocol data units RPKI PDU corresponding to the RTR protocol.
10. The method of claim 9, wherein the different types of RPKIPDU comprise: prefix internet protocol version four IPv4 Prefix PDU, prefix internet protocol version six IPv6 Prefix PDU, autonomous system service provider verifies ASPA PDU, router Key PDU or RPKI maintenance PDU.
11. The method according to claim 9, wherein said first device transmitting different types of resource public key infrastructure protocol data units RPKI PDUs corresponding to said RTR protocol over a plurality of streams carried by said QUIC comprises:
and the first equipment sends RPKI service objects PDUs and RPKI maintenance PDUs through different streams borne by the QUIC.
12. The method of claim 1, wherein the step of determining the position of the substrate comprises,
the protocol is the BGP protocol described above,
the first device sending data corresponding to a protocol to the second device in a multi-stream manner through the QUIC comprises:
the first device sends information of different virtual private networks VPN corresponding to the BGP through a plurality of streams carried by the QUIC.
13. The method of claim 1, wherein the step of determining the position of the substrate comprises,
the protocol is the overlay management protocol OMP,
the first device sending data corresponding to a protocol to the second device in a multi-stream manner through the QUIC comprises:
the first device sends information of different virtual private networks VPN corresponding to the OMP through a plurality of streams carried by the QUIC.
14. A method according to claim 12 or 13, characterized in that the information of the different VPNs comprises information identifying the release of the different VPNs, said identification comprising a VPN identification number ID, a VPN routing/forwarding table identification number VRFID, a VPN routing identification RD or a VRF name.
15. The method of claim 1, wherein the step of determining the position of the substrate comprises,
the protocol is a protocol supporting multiple types of network layer reachability information NLRIType features,
the first device sending data corresponding to a protocol to the second device in a multi-stream manner through the QUIC comprises:
and the first equipment correspondingly transmits data with different characteristics through a plurality of streams carried by the QUIC, wherein the data with different characteristics corresponds to the protocol supporting the NLRIType characteristics of a plurality of types.
16. The method of claim 15, wherein the protocol supporting characteristics of multiple types of NLRI types comprises: BGP multicast virtual provider network MVPN protocol, BGP level virtual private network EVPN protocol, BGP-LS protocol, OMP or flow rule specification second edition Flowspec v2 protocol.
17. A method of data transmission, comprising:
the second device establishes a fast user datagram protocol internet connection quitc with the first device;
and the second equipment receives the data which are sent by the first equipment and correspond to the protocol in a multi-stream mode through the QUIC.
18. The method of claim 17, wherein the step of determining the position of the probe is performed,
the protocol is the border gateway protocol BGP,
The second device receiving data corresponding to the protocol sent by the first device in a multi-stream manner through the QUIC comprises:
and the second device receives the data of a plurality of address families corresponding to the BGP, which are sent by the first device, in a multi-stream mode through the QUIC.
19. The method of claim 17, wherein the step of determining the position of the probe is performed,
the protocol is the border gateway monitoring protocol BMP,
the second device receiving data corresponding to the protocol sent by the first device in a multi-stream manner through the QUIC comprises:
the second device receives the different types of data monitored by the BMP and sent by the first device through the QUIC in a multi-stream mode.
20. The method of claim 17, wherein the step of determining the position of the probe is performed,
the protocol is a resource public key infrastructure to router RTR protocol,
the second device receiving data corresponding to the protocol sent by the first device in a multi-stream manner through the QUIC comprises:
the second device receives, in a multi-stream manner, different types of resource public key infrastructure protocol data units RPKI PDUs of the RTR protocol sent by the first device through the QUIC.
21. The method according to claim 20, wherein said second device receiving, in a multi-stream manner, different types of resource public key infrastructure protocol data units RPKI PDUs of said RTR protocol transmitted by said first device through said QUIC comprises:
and the second equipment receives the RPKI service object PDUs and the RPKI maintenance PDUs sent by the first equipment through different streams borne by the QUIC.
22. The method of claim 17, wherein the step of determining the position of the probe is performed,
the protocol is the BGP protocol described above,
the second device receiving data corresponding to the protocol sent by the first device in a multi-stream manner through the QUIC comprises:
the second device receives information of different virtual private networks VPN of the BGP, which is sent by the first device, in a multi-stream mode through the QUIC.
23. The method of claim 17, wherein the step of determining the position of the probe is performed,
the protocol is the overlay management protocol OMP,
the second device receiving data corresponding to the protocol sent by the first device in a multi-stream manner through the QUIC comprises:
the second device receives information of different Virtual Private Networks (VPNs) of the OMP, which is sent by the first device, through the QUIC in a multi-stream mode.
24. The method of claim 17, wherein the step of determining the position of the probe is performed,
the protocol is a protocol supporting multiple types of network layer reachability information NLRIType features,
the second device receiving data corresponding to the protocol sent by the first device in a multi-stream manner through the QUIC comprises:
and the second device receives data with different characteristics sent by the first device in a multi-stream mode through the QUIC, wherein the data with different characteristics corresponds to the protocol supporting the NLRIType characteristics of a plurality of types.
25. A first device, comprising:
the processing module is used for establishing a quick user datagram protocol (QUIC) internet connection with the second equipment;
and the sending module is used for sending the data corresponding to the protocol to the second equipment in a multi-stream mode through the QUIC.
26. The apparatus of claim 25, wherein the device comprises a plurality of sensors,
the protocol is the border gateway protocol BGP,
the sending module is specifically configured to send, to the second device, data of a plurality of address families corresponding to BGP through the quitc in a multi-stream manner.
27. The apparatus of claim 26, wherein the device comprises a plurality of sensors,
the data of the plurality of address families are the data sent to the second device by the first device after the main-standby switching, the plurality of address families comprise a first address family and a second address family,
The processing module is specifically configured to process the data of the first address family through the first stream carried by the QUIC after the data synchronization of the first address family is completed, so that waiting for the data of other address families to complete the data synchronization is avoided;
and the sending module is further used for sending the EOR message which is sent by the routing table corresponding to the first address group to the second network equipment after the processing module finishes processing the data of the first address group.
28. The apparatus according to claim 26 or 27, wherein,
the processing module is further configured to process the data of the second address family through a second stream carried by the QUIC after the data of the second address family completes synchronization, so that waiting for the data of other address families to complete data synchronization is avoided;
and the sending module is further configured to send an EOR message corresponding to the second address group to the second network device after the processing module finishes processing the data of the second address group.
29. The apparatus according to any one of claims 26 to 28, wherein,
the plurality of address families further includes a third address family,
the processing module is further configured to process the data of the third address group through a third stream and a fourth stream carried by the QUIC after the data of the third address group completes synchronization, so that waiting for the data of other address groups to complete data synchronization is avoided;
And the sending module is further configured to send an EOR message corresponding to the third address group to the second network device through the third stream or the fourth stream after the processing module finishes processing the data of the third address group.
30. The apparatus according to any one of claims 26 to 29, wherein,
the plurality of address families further includes a fourth address family and a fifth address family,
the processing module is further configured to process the data of the fourth address group through a fifth stream carried by the QUIC after the data synchronization of the fourth address group is completed, and process the data of the fourth address group through a fifth stream carried by the QUIC after the data synchronization of the fifth address group is completed, so as to avoid waiting for the data of other address groups to complete the data synchronization;
the sending module is further configured to send, to the second network device through the fifth flow, an EOR message corresponding to the fourth address group and an EOR message corresponding to the fifth address group after the processing module finishes processing the data of the fourth address group and the fifth address group.
31. The apparatus of claim 25, wherein the device comprises a plurality of sensors,
the protocol is the border gateway monitoring protocol BMP,
The sending module is specifically configured to send, through a plurality of streams carried by the QUIC, different types of data corresponding to the BMP monitoring.
32. The apparatus of claim 31, wherein the different types of data comprise: BGP-flow rule standard Flowspec message, internet protocol fourth edition IPv4 unicast BMP message, internet protocol sixth edition IPv6 unicast BMP message, virtual private network fourth edition VPNv4 unicast BMP message, virtual private network sixth edition VPNv6 unicast BMP message or BGP-link state LS BMP message.
33. The apparatus of claim 25, wherein the device comprises a plurality of sensors,
the protocol is a resource public key infrastructure to router RTR protocol,
the sending module is specifically configured to send, through the plurality of streams carried by the QUIC, resource public key infrastructure protocol data units RPKI PDUs corresponding to different types of the RTR protocol.
34. The apparatus of claim 33, wherein the different types of RPKI PDUs comprise: prefix internet protocol version four IPv4 Prefix PDU, prefix internet protocol version six IPv6 Prefix PDU, autonomous system service provider verifies ASPA PDU, router Key PDU or RPKI maintenance PDU.
35. The apparatus of claim 33, wherein the device comprises a plurality of sensors,
the sending module is further configured to send RPKI service objects PDUs and RPKI maintenance PDUs through different streams carried by the QUIC.
36. A second device, comprising:
the processing module is used for establishing a quick user datagram protocol (QUIC) internet connection with the first equipment;
and the receiving module is used for receiving the data which are sent by the first equipment and correspond to the protocol in a multi-stream mode through the QUIC.
37. The apparatus of claim 36, wherein the device comprises a plurality of sensors,
the protocol is the border gateway protocol BGP,
the receiving module is specifically configured to receive, in a multi-stream manner, data of a plurality of address families corresponding to BGP, which are sent by the first device, through the quitc.
38. The apparatus of claim 36, wherein the device comprises a plurality of sensors,
the protocol is the border gateway monitoring protocol BMP,
the receiving module is specifically configured to receive, in a multi-stream manner, different types of data monitored by the BMP and sent by the first device through the QUIC.
39. The apparatus of claim 36, wherein the device comprises a plurality of sensors,
the protocol is a resource public key infrastructure to router RTR protocol,
The receiving module is specifically configured to receive, in a multi-stream manner, different types of resource public key infrastructure protocol data units RPKIPDU of the RTR protocol, which are sent by the first device, through the QUIC.
40. The apparatus of claim 39, wherein the device comprises a processor,
and the second equipment receives the RPKI service object PDUs and the RPKI maintenance PDUs sent by the first equipment through different streams borne by the QUIC.
CN202210848505.8A 2022-07-19 2022-07-19 Method and device for data transmission Pending CN117459566A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210848505.8A CN117459566A (en) 2022-07-19 2022-07-19 Method and device for data transmission

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210848505.8A CN117459566A (en) 2022-07-19 2022-07-19 Method and device for data transmission

Publications (1)

Publication Number Publication Date
CN117459566A true CN117459566A (en) 2024-01-26

Family

ID=89586167

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210848505.8A Pending CN117459566A (en) 2022-07-19 2022-07-19 Method and device for data transmission

Country Status (1)

Country Link
CN (1) CN117459566A (en)

Similar Documents

Publication Publication Date Title
US11223514B2 (en) Method and system of a dynamic high-availability mode based on current wide area network connectivity
RU2526719C2 (en) Network system and network redundancy method
EP2617165B1 (en) System and method for providing ethernet over infiniband virtual hub scalability in a middleware machine environment
US7639605B2 (en) System and method for detecting and recovering from virtual switch link failures
US8670349B2 (en) System and method for floating port configuration
US8289839B2 (en) Scaling BFD sessions for neighbors using physical / sub-interface relationships
EP2731313B1 (en) Distributed cluster processing system and message processing method thereof
US9935848B2 (en) System and method for supporting subnet manager (SM) level robust handling of unkown management key in an infiniband (IB) network
CN106789638B (en) Method for processing route and network equipment
EP3253010A1 (en) Network relay device, gateway redundancy system, program, and redundancy method
WO2014176975A1 (en) Method and system for information interaction among systems in the same end in drni
WO2020057445A1 (en) Communication system, method, and device
CN101562576B (en) Route distribution method and equipment thereof
WO2018103665A1 (en) L2tp-based device management method, apparatus and system
US11522754B2 (en) Systems and methods for Zero-Touch Provisioning of a switch in intermediate distribution frames and main distribution frames
JP5678678B2 (en) Provider network and provider edge device
US20180262387A1 (en) Restoring control-plane connectivity with a network management entity
US10666558B2 (en) Automatic alignment of roles of routers in networks
WO2011113395A2 (en) A method and apparatus for load balance
CN112564983B (en) Data transmission method, device, computer system and medium
EP2840738B1 (en) Mep configuration method and network device
JP4011528B2 (en) Network virtualization system
JP2005252762A (en) Method and system for controlling vpn connection
WO2018113633A1 (en) Packet forwarding method, packet forwarding controller, bras, and computer storage medium
CN117459566A (en) Method and device for data transmission

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication