Data transmission method and device, equipment, storage medium and program product
By determining the transit network node in the virtual extended LAN and using the tag forwarding table for data forwarding, the data transmission interruption caused by the failure of the public network line of the same operator between the network nodes is solved, and the stability and reliability of data transmission are achieved.
Patent Information
- Application Number
- CN202411376472.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-29
- Publication Date
- 2024-12-27
AI Technical Summary
In a virtual extended LAN, public network lines failures of the same operators between network nodes lead to interruption of data transmission, which cannot effectively avoid problems such as line interruption, communication quality degradation and equipment failure.
By determining the transit network node in other network nodes, the transit network node is used to redirect the data between the first network node and the second network node, and the line information is determined based on the network line type between the transit network node and the two nodes. and tag forwarding tables to realize data packet forwarding and avoid data transmission interruption.
It effectively avoids data transmission interruption when network lines of the same operators are abnormal between network nodes, improves the reliability and stability of data transmission, and ensures the normal transmission of data between network nodes.
Smart Images

Figure CN119211114A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of communication technology, and in particular to a data transmission method, apparatus, device, storage medium and program product. Background Art
[0002] At present, in a virtual extended LAN, the network controller of the edge network will determine the data transmission line based on the line resource conditions of the interconnected network nodes. Among them, the public network line of the same operator is preferred for data transmission between two network nodes. However, due to the uncontrollable factors of the operator's public network line, it may cause public network line failures, such as line interruption, communication quality degradation, packet loss and equipment failure. If the public network line of the same operator between network nodes fails, the data transmission between network nodes will be interrupted. Summary of the invention
[0003] In view of this, the present disclosure provides a data transmission method, apparatus, device, storage medium and program product to solve the problem of data transmission interruption caused by a public network line failure of the same operator between network nodes.
[0004] In a first aspect, the present disclosure provides a data transmission method applicable to a network controller, the method comprising:
[0005] If the network line between the first network node and the second network node is abnormal, determining a transit network node from among the other network nodes based on the network line types supported by the other network nodes;
[0006] Determine line information based on the network line types between the transit network node and the first network node and the second network node respectively;
[0007] Acquire label information of the first network node, the second network node, and the transit network node;
[0008] Based on the label information and the line information, determine a label forwarding table of the transit network node, where the label forwarding table is used to instruct the transit network node to forward data between the first network node and the second network node;
[0009] The label forwarding table is sent to the transit network node.
[0010] In a second aspect, the present disclosure provides a data transmission method applicable to a transit network node, the method comprising:
[0011] Receive a label forwarding table sent by a network controller, where the label forwarding table is determined based on network line types between the transit network node and the first network node and the second network node, respectively, and label information of the first network node, the second network node, and the transit network node;
[0012] Data between the first network node and the second network node is forwarded based on the label forwarding table.
[0013] In a third aspect, the present disclosure provides a data transmission method, applicable to a first network node and / or a second network node, the method comprising:
[0014] Obtaining a target routing table, wherein the target routing table includes a tunnel endpoint address of a transit network node and a label of a next-hop network node;
[0015] Generate a data packet using the tunnel endpoint address as the target address;
[0016] Add the label of the next-hop network node to the data packet to obtain a target data packet;
[0017] The target data packet is sent to the transit network node.
[0018] In a fourth aspect, the present disclosure provides a data transmission device, the device comprising:
[0019] a transit node selection module, configured to determine a transit network node from among the other network nodes based on the network line types supported by the other network nodes if the network line between the first network node and the second network node is abnormal;
[0020] A line information acquisition module, configured to determine line information based on the network line types between the transit network node and the first network node and the second network node respectively;
[0021] A label information acquisition module, used to acquire label information of the first network node, the second network node and the transit network node;
[0022] A forwarding information determination module, used to determine a label forwarding table of the transit network node based on the label information and the line information, wherein the label forwarding table is used to instruct the transit network node to forward data between the first network node and the second network node;
[0023] The forwarding information sending module is used to send the label forwarding table to the transit network node.
[0024] In a fifth aspect, the present disclosure provides a data transmission device, the device comprising:
[0025] A forwarding information acquisition module, configured to receive a label forwarding table issued by a network controller, wherein the label forwarding table is determined based on the network line types between the transit network node and the first network node and the second network node, respectively, and label information of the first network node, the second network node, and the transit network node;
[0026] A node data forwarding module is used to forward data between the first network node and the second network node based on the label forwarding table.
[0027] In a sixth aspect, the present disclosure provides a data transmission device, the device comprising:
[0028] A routing table acquisition module, used to acquire a target routing table, wherein the target routing table includes a tunnel endpoint address of a transit network node and a label of a next-hop network node;
[0029] A data packet generation module, used to generate a data packet using the tunnel endpoint address as a target address;
[0030] A label adding module, used for adding a label of the next-hop network node to the data packet to obtain a target data packet;
[0031] The data packet forwarding module is used to send the target data packet to the transit network node.
[0032] In a seventh aspect, the present disclosure provides a computer device, comprising: a memory and a processor, the memory and the processor are communicatively connected to each other, computer instructions are stored in the memory, and the processor executes the data transmission method of any of the above-mentioned embodiments by executing the computer instructions.
[0033] In an eighth aspect, the present disclosure provides a computer-readable storage medium having computer instructions stored thereon, the computer instructions being used to enable a computer to execute the data transmission method of any of the above-mentioned embodiments.
[0034] In a ninth aspect, the present disclosure provides a computer program product, including computer instructions, and the computer instructions are used to enable a computer to execute the data transmission method of any of the above-mentioned embodiments.
[0035] The data transmission method provided by the embodiment of the present disclosure, if the network line between the first network node and the second network node is abnormal, then based on the network line type supported by other network nodes, a transit network node is determined in other network nodes. Therefore, the transit network node can be used to transit and detour the data between the first network node and the second network node. At the same time, based on the network line type between the transit network node and the first network node and the second network node, the line information is determined. And based on the label information of the first network node, the second network node and the transit network node, and the line information, the label forwarding table of the transit network node is determined, and the label forwarding table is sent to the transit network node. Among them, the label forwarding table is used to instruct the transit network node to forward the data between the first network node and the second network node. Therefore, when the transit network node receives a data packet from the first network node or the second network node, it can use the label forwarding table and the label of the next hop network node in the data packet to forward the received data packet to the next hop network node to realize the data transmission between the first network node and the second network node, so as to avoid the problem of data transmission interruption when the network line of the same operator between the network nodes is abnormal. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] In order to more clearly illustrate the specific embodiments of the present disclosure or the technical solutions in the prior art, the drawings required for use in the specific embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0037] Figure 1 is a schematic diagram of a scenario in which a network line between network nodes is abnormal according to an embodiment of the present disclosure;
[0038] Figure 2 is a schematic diagram of another scenario in which an abnormality occurs in a network line between network nodes according to an embodiment of the present disclosure;
[0039] Figure 3 is a flowchart of a first data transmission method according to an embodiment of the present disclosure;
[0040] Figure 4 is a schematic diagram of a scenario of using a transit network node to transmit data according to an embodiment of the present disclosure;
[0041] Figure 5 is a schematic diagram of another scenario of using a transit network node for data transmission according to an embodiment of the present disclosure;
[0042] Figure 6is a schematic diagram of a scenario in which a tag is used to perform data transmission in a normal transmission state according to an embodiment of the present disclosure;
[0043] Figure 7 is a flowchart of a second data transmission method according to an embodiment of the present disclosure;
[0044] Figure 8 is a flowchart of a third data transmission method according to an embodiment of the present disclosure;
[0045] Fig. 9 is a structural block diagram of a first data transmission device according to an embodiment of the present disclosure;
[0046] Fig.10 is a structural block diagram of a second data transmission device according to an embodiment of the present disclosure;
[0047] Fig.11 is a structural block diagram of a third data transmission device according to an embodiment of the present disclosure;
[0048] Fig.12 It is a structural block diagram of a computer device according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0049] In order to make the purpose, technical solution and advantages of the embodiments of the present disclosure clearer, the technical solution in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are part of the embodiments of the present disclosure, rather than all the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by those skilled in the art without making creative work are within the scope of protection of the present disclosure.
[0050] It is understandable that before using the technical solutions disclosed in the embodiments of the present disclosure, the types, scope of use, usage scenarios, etc. of the personal information involved in the present disclosure should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.
[0051] For example, in response to receiving an active request from a user, a prompt message is sent to the user to clearly prompt the user that the operation requested to be performed will require obtaining and using the user's personal information. Thus, the user can autonomously choose whether to provide personal information to software or hardware such as an electronic device, application, server, or storage medium that performs the operation of the technical solution of the present disclosure according to the prompt message.
[0052] As an optional but non-limiting implementation, in response to receiving an active request from the user, the prompt information may be sent to the user in the form of a pop-up window, in which the prompt information may be presented in text form. In addition, the pop-up window may also carry a selection control for the user to choose "agree" or "disagree" to provide personal information to the electronic device.
[0053] It is understandable that the above notification and the process of obtaining user authorization are merely illustrative and do not constitute a limitation on the implementation of the present disclosure. Other methods that meet the relevant laws and regulations may also be applied to the implementation of the present disclosure.
[0054] It is understandable that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) shall comply with the requirements of relevant laws, regulations and relevant provisions.
[0055] At present, edge networking products are mainly aimed at edge networking application scenarios such as enterprise Internet Data Center (IDC), enterprise branches, and software operation services (SaaS). Edge networking products are based on edge cloud public networks and dedicated line infrastructure to provide high-quality, stable, and secure global wide area network networking services. Among them, the typical application scenario of edge networking products is to provide virtual private clouds (VPCs) across edge nodes (also known as network nodes). The virtual private cloud VPC-A of network node A and the virtual private cloud VPC-B of network node B are interconnected through a virtual gateway (VGW). Among them, network node A is equipped with a virtual gateway VGW-A, and network node B is equipped with a virtual gateway VGW-B.
[0056] like Figure 1 As shown in the figure, from the perspective of the underlying forwarding resources of the network nodes, assuming that the network nodes A and B involve the computer room line, the single-line computer room L1 corresponding to the network node A provides a single operator public network line, for example, the network line of operator Operator 1, and the three-line computer room L2 corresponding to the network node B provides three-line operator public network lines, for example, the network line of operator Operator 1, the network line of operator Operator 2, and the network line of operator Operator 3. Among them, the data transmission bearer entity is the Edge Gateway (EGW), which mainly provides the overlay network (Overlay) data message forwarding capability based on the Virtual Extensible LAN (VXLAN).
[0057] The public network lines of different operators use different Internet Protocol (IP) of Virtual Tunnel Endpoint (VTEP) to distinguish data transmission lines. For example, the network line of operator Operator1 uses the public network address of operator Operator1 as the VTEP forwarding IP, and operator Operator2 uses the public network address of operator Operator2 as the VTEP forwarding IP.
[0058] like Figure 2 As shown in the figure, the network controller of the edge network will determine the outer forwarding IP (i.e., data transmission line) of the Overlay based on the line resource situation of the interconnected network nodes. Among them, the public network line of the same operator is preferred for data transmission between two network nodes. That is, the outer forwarding IP of the Overlay will use the forwarding IP of the same operator for data forwarding. Figure 2 As shown, the network line of operator Operator 1 is selected between network node A and network node B for traffic forwarding.
[0059] In the related art, when two network nodes transmit data through a public network line, due to uncontrollable factors in the operator's public network line, public network line failures may occur, such as line interruption, communication quality degradation, packet loss, and equipment failure. If the public network line of the same operator between network nodes fails, data transmission between network nodes will be interrupted, and network nodes will be unable to connect.
[0060] For example, Figure 1 As shown in the figure, when the public network line accessed by Operator 1 of the third-line computer room fails, although other operators' public network lines can be used, if communication is carried out across the public network lines of operators, uncontrollable factors will also occur, resulting in uncontrollable data transmission, line interruption, and reduced communication quality.
[0061] In summary, if the public network line of the same operator between network nodes fails, the data transmission between the network nodes will be interrupted.
[0062] In view of this, according to an embodiment of the present disclosure, a data transmission method embodiment is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0063] In this embodiment, a first data transmission method is provided, which can be used for the above-mentioned network controller. Figure 3 is a flow chart of a first data transmission method according to an embodiment of the present disclosure, such as Figure 3 As shown, the process includes the following steps:
[0064] Step S301: If the network line between the first network node and the second network node is abnormal, a transit network node is determined from other network nodes based on the network line types supported by other network nodes.
[0065] It should be noted that network line types can be divided according to different operators, and network lines of different operators correspond to different network line types.
[0066] Exemplarily, it is assumed that the first network node supports the first type of network line, and the second network node supports the first type of network line, the second type of network line, and the third type of network line. In a normal state, the first type of network line is used between the first network node and the second network node. If the first type of network line in the second network node is abnormal, it may cause the data transmission between the first network node and the second network node to be interrupted. Therefore, a network node that supports the first type of network line and the second type of network line can be found in other network nodes as a transit network node. Alternatively, a network node that supports the first type of network line and the third type of network line can be found in other network nodes as a transit network node. Alternatively, a network node that supports the first type of network line, the second type of network line, and the third type of network line can be found in other network nodes as a transit network node.
[0067] Step S302: determining line information based on the network line types between the transit network node and the first network node and the second network node respectively.
[0068] Exemplarily, it is assumed that the first network node supports the first type of network line, the second network node supports the first type of network line, the second type of network line, and the third type of network line, and the transit network node supports the first type of network line, the second type of network line, and the third type of network line. If the first type of network line supported by the second network node is abnormal, it can be determined that data is transmitted between the first network node and the transit network node through the first type of network line, and data is transmitted between the second network node and the transit network node through the second type of network line or the third type of network line, so as to obtain line information.
[0069] Step S303: Obtain label information of the first network node, the second network node, and the transit network node.
[0070] Specifically, a label may be pre-configured for each network node, and the labels of the network nodes are different. For example, the label of the first network node is 10, the label of the second network node is 20, and the label of the transit network node is 30.
[0071] Step S304: determining a label forwarding table of the transit network node based on the label information and the line information, wherein the label forwarding table is used to instruct the transit network node to forward data between the first network node and the second network node.
[0072] Specifically, in actual operation, the network controller may obtain a pre-configured node forwarding strategy, and arrange the label forwarding table based on the node forwarding strategy.
[0073] Specifically, the label forwarding table includes a first label forwarding entry and a second label forwarding entry. Based on the tunnel identifier corresponding to the second network node, the label of the next-hop network node (i.e., the label of the first network node), and the network line information supported between the transit network node and the first network node, the first label forwarding entry under the tunnel identifier corresponding to the second network node can be obtained, so that the transit network node forwards the data sent from the second network node to the first network node to the first network node based on the first label forwarding entry. At the same time, based on the tunnel identifier corresponding to the first network node, the label of the next-hop network node (i.e., the label of the second network node), and the network line information supported between the transit network node and the second network node, the second label forwarding entry under the tunnel identifier corresponding to the first network node can be obtained, so that the transit network node forwards the data sent from the first network node to the second network node to the second network node based on the second label forwarding entry.
[0074] Step S305: Send the label forwarding table to the transit network node.
[0075] The data transmission method provided in this embodiment, if the network line between the first network node and the second network node is abnormal, then based on the network line type supported by other network nodes, a transit network node is determined in other network nodes. Therefore, the transit network node can be used to transit and detour the data between the first network node and the second network node. At the same time, based on the network line type between the transit network node and the first network node and the second network node, the line information is determined. And based on the label information of the first network node, the second network node and the transit network node, and the line information, the label forwarding table of the transit network node is determined, and the label forwarding table is sent to the transit network node. Among them, the label forwarding table is used to instruct the transit network node to forward the data between the first network node and the second network node. Therefore, when the transit network node receives a data packet from the first network node or the second network node, it can use the label forwarding table and the label of the next hop network node in the data packet to forward the received data packet to the next hop network node to realize the data transmission between the first network node and the second network node, so as to avoid the problem of data transmission interruption when the network line of the same operator between the network nodes is abnormal.
[0076] In some optional implementations, the step S301 above, based on the network line types supported by the other network nodes, determining the transit network node among the other network nodes includes:
[0077] Step a1, determining abnormal network nodes and normal network nodes in the first network node and the second network node, and the first network line type in the abnormal network node that is in a normal state.
[0078] Step a2: Acquire the second network line type supported by the normal network node.
[0079] Step a3, based on the first network line type and the second network line type, matching is performed among the network line types supported by other network nodes to determine a transit network node, wherein the transit network node supports both the first network line type and the second network line type.
[0080] It should be noted that the data transmission method disclosed in the present invention is mainly aimed at the situation where there is a network line type in a normal state in the abnormal network node. If there is no network line type in a normal state in the abnormal network node, it is necessary to notify relevant personnel to maintain the abnormal network node.
[0081] In addition, the first network line type and the second network line type may be public network line types provided by operators or dedicated line types.
[0082] For example, Figure 4As shown, it is assumed that the first network node supports the first type Type 1 network line, the second network node supports the first type Type 1 network line, the second type Type 2 network line, and the third type Type 3 network line, and the transit network node supports the first type Type 1 network line, the second type Type 2 network line, and the third type Type 3 network line. Among them, the first network node is in a normal state, and the Type 1 network line in the second network node is in an abnormal state, then the first network node is determined as a normal network node, the second network node is determined as an abnormal network node, and it is determined that the first network line type in the abnormal network node that is in a normal state is Type 2 and Type 3, and the second network line type supported by the normal network node is Type 1. The selected transit network node needs to support Type 1 network lines, and at least one of Type 2 network lines and Type 3 network lines. Figure 4 In the embodiment, the transit network node supports Type 1, Type 2 and Type 3 network lines. The first network node and the transit network node can be connected through a Type 1 network line, and the second network node and the transit network node can be connected through a Type 3 network line, thereby realizing a connecting line between the first network node and the second network node.
[0083] The data transmission method provided in this embodiment selects a network node that supports both the first network line type in the abnormal network node in a normal state and the second network line type supported by the normal network node as a transit network node. Therefore, the transit network node can use the network line of the same type / operator as the next-hop network node to forward data between the first network node and the second network node, so as to improve the reliability of data transmission, thereby further ensuring the normal transmission of data between the first network node and the second network node.
[0084] In some optional implementations, the step a3 of matching the first network line type and the second network line type among the network line types supported by other network nodes to determine the transit network node includes:
[0085] Step a31, based on the first network line type and the second network line type, matching is performed among the network line types supported by other network nodes to determine an optional network node, wherein the optional network node supports both the first network line type and the second network line type.
[0086] Step a32, obtaining the distance between each optional network node and the abnormal network node.
[0087] Step a33, determining a transit network node based on the distance between each optional network node and the abnormal network node.
[0088] Specifically, according to the distance between each optional network node and the abnormal network node, the optional network node with the shortest distance to the abnormal network node can be selected as the transit network node to reduce the distance of data transmission between the transit network node and the abnormal network node, thereby improving the efficiency of data transmission. In addition, the distance between the optional network node and the normal network node can be further obtained, and based on the distance between the optional network node and the normal network node, and the distance between the optional network node and the abnormal network node, the optional network node with the shortest combined distance to the normal network node and the abnormal network node is determined as the transit network node. Alternatively, the line quality of the network line between the optional network node and the abnormal network node is further obtained, and the transit network node is determined based on the distance between the optional network node and the abnormal network node and the network line quality, so as to provide higher quality data transmission services while reducing data transmission delay.
[0089] The data transmission method provided in this embodiment determines the transit network node based on the distance between each optional network node and the abnormal network node. Therefore, the data transmission distance between the transit network node and the abnormal network node can be reduced, thereby reducing the delay and bandwidth consumption during the data transmission process and improving the efficiency of data transmission.
[0090] In some optional implementations, determining the label forwarding table of the transit network node based on the label information and the line information in the above step S304 includes:
[0091] Step b1, based on the network line type used by the transit network node in the line information to connect with the first network node, obtain a first tunnel endpoint address corresponding to the first network node and a second tunnel endpoint address corresponding to the transit network node.
[0092] Step b2: determine the first tunnel endpoint address as the destination address under the tunnel identifier corresponding to the second network node, and determine the second tunnel endpoint address as the source address under the tunnel identifier corresponding to the second network node.
[0093] Step b3, based on the label of the first network node, the destination address and the source address under the tunnel identifier corresponding to the second network node, obtain the first label forwarding entry under the tunnel identifier corresponding to the second network node, and the label forwarding table includes the first label forwarding entry.
[0094] The data transmission method provided in this embodiment determines the first tunnel endpoint address in the first network node for connecting with the transit network node as the destination address under the tunnel identifier corresponding to the second network node, and determines the second tunnel endpoint address in the transit network node for connecting with the first network node as the source address under the tunnel identifier corresponding to the second network node. Based on the label of the first network node, the destination address under the tunnel identifier corresponding to the second network node, and the source address, a first label forwarding entry under the tunnel identifier corresponding to the second network node is obtained. Therefore, the transit network node can forward the data of the second network node corresponding to the first network node to the first network node according to the first label forwarding entry, thereby ensuring the normal transmission of data between the first network node and the second network node when the network line between the first network node and the second network node is abnormal.
[0095] Exemplarily, as shown in Table 1, the key fields in the label forwarding table include a tunnel identifier (also known as VNI), a label of a target network node, a label of a next-hop network node, a source address, and a target address. Among them, the tunnel identifier refers to the tunnel identifier of the previous-hop network node, and the label of the target network node is used by the transit network node to determine the next-hop network node. The source address is the tunnel endpoint address (also known as the VXLAN outer source IP) of the network line type used to connect to the next-hop network node in the transit network node. The target address is the tunnel endpoint address of the network line type used to connect to the transit network node in the next-hop network node. In addition, the key fields in the label forwarding table also include a forwarding domain. Among them, the forwarding domain refers to the direction or area of data forwarding determined by the source network node according to the direction of the target network node to ensure that the data can successfully reach the destination node.
[0096] Table 1 Data format of label forwarding table
[0097]
[0098] For example, Figure 5 As shown, assuming that the label of the first network node is 10, the label of the second network node is 20, the label of the transit network node is 30, the tunnel identifier corresponding to the second network node is 20001, the first tunnel endpoint address is IP11, the second tunnel endpoint address is IP31, and the forwarding domain corresponding to the second network node under the tunnel identifier is cross-domain, then the first label forwarding entry shown in Table 2 can be obtained. Among them, the data in the row where the tunnel identifier 20001 is located in Table 2 is the first label forwarding entry.
[0099] Table 2 The first label forwarding entry in the label forwarding table
[0100]
[0101] In some optional implementations, the step S304 of determining the label forwarding table of the transit network node based on the label information and the line information further includes:
[0102] Step c1, based on the network line type used by the transit network node in the line information to connect with the second network node, obtain a third tunnel endpoint address corresponding to the second network node and a fourth tunnel endpoint address corresponding to the transit network node;
[0103] Step c2, determining the third tunnel endpoint address as the destination address under the tunnel identifier corresponding to the first network node, and determining the fourth tunnel endpoint address as the source address under the tunnel identifier corresponding to the first network node;
[0104] Step c3, based on the label of the second network node, the destination address and the source address under the tunnel identifier corresponding to the first network node, obtain a second label forwarding entry under the tunnel identifier corresponding to the first network node, and the label forwarding table includes the second label forwarding entry.
[0105] The data transmission method provided in this embodiment determines the third tunnel endpoint address in the second network node for connecting with the transit network node as the destination address under the tunnel identifier corresponding to the first network node, and determines the fourth tunnel endpoint address in the transit network node for connecting with the second network node as the source address under the tunnel identifier corresponding to the first network node. Based on the label of the second network node, the destination address under the tunnel identifier corresponding to the first network node, and the source address, a second label forwarding entry under the tunnel identifier corresponding to the first network node is obtained. Therefore, the transit network node can forward the data of the first network node corresponding to the second network node to the second network node according to the second label forwarding entry, thereby ensuring the normal transmission of data between the first network node and the second network node when the network line between the first network node and the second network node is abnormal.
[0106] For example, Figure 5 As shown, assuming that the label of the first network node is 10, the label of the second network node is 20, the label of the transit network node is 30, the tunnel identifier corresponding to the first network node is 10001, the third tunnel endpoint address is IP23, the fourth tunnel endpoint address is IP33, and the forwarding domain corresponding to the first network node under the tunnel identifier is cross-domain, then the second label forwarding entry shown in Table 3 can be obtained. Among them, the data in the row where the tunnel identifier 20001 is located in Table 3 is the second label forwarding entry.
[0107] Table 3 The first label forwarding entry in the label forwarding table
[0108]
[0109] In some optional implementations, the data transmission method of the present disclosure further includes:
[0110] Step d1, obtain the second tunnel endpoint address and the fourth tunnel endpoint address corresponding to the transit network node, the second tunnel endpoint address is determined based on the type of network line connecting the transit network node and the first network node, and the fourth tunnel endpoint address is determined based on the type of network line connecting the transit network node and the second network node.
[0111] Step d2: updating the first routing table of the first network node based on the second tunnel endpoint address.
[0112] Step d3: updating the second routing table of the second network node based on the fourth tunnel endpoint address.
[0113] The data transmission method provided in this embodiment updates the first routing table of the first network node based on the second tunnel endpoint address in the transit network node for connecting to the first network node, and updates the second routing table of the second network node based on the fourth tunnel endpoint address in the transit network node for connecting to the second network node. Therefore, it can ensure that the data between the first network node and the second network node is transferred to the transit network node and forwarded by the transit network node.
[0114] In some optional implementations, the updating of the first routing table of the first network node based on the second tunnel endpoint address in the above step d2 includes:
[0115] Step d21: Update the target address under the tunnel identifier corresponding to the first network node in the first routing table to the second tunnel endpoint address.
[0116] Step d22: Update the source address under the tunnel identifier corresponding to the second network node in the first routing table to the second tunnel endpoint address.
[0117] For example, Figure 6As shown, assuming that the first type of network line between the first network node and the second network node is normal, the network segment corresponding to the virtual private cloud (VPC) of the first network node is network segment 1, the tunnel identifier (VNI) corresponding to the virtual private cloud of the first network node is 100, the tunnel endpoint address of the virtual gateway (VGW) of the first network node corresponding to the first type (Type1) network line is IP11, the tunnel identifier of the virtual gateway of the first network node is 10001, the label of the first network node is 10, the network segment corresponding to the virtual private cloud of the second network node is network segment 2, the tunnel endpoint address of the virtual gateway of the second network node corresponding to the first type of network line is IP21, the tunnel identifier of the virtual gateway of the second network node is 20001, and the label of the second network node is 20, then the routing table of the first network node in the normal transmission state can be obtained as shown in Table 4. Among them, in the first routing table, if the current tunnel identifier is 10001, the corresponding target network segment is network segment 2, the source address is IP11, the target address is IP21, the next tunnel identifier is 10001, and the label of the next hop network node is 20. If the current tunnel identifier is 20001, the corresponding target network segment is network segment 1, the source address is IP21, the target address is IP11, the next tunnel identifier is 100, and the label of the next-hop network node is empty.
[0118] Table 4: The first routing table of the first network node in the normal transmission state
[0119]
[0120] like Figure 4 and Figure 5 As shown, if the network line between the first network node and the second network node is abnormal, the first network node is connected to the transit network node through a first type of network line, the second network node is connected to the transit network node through a third type of network line, and the tunnel endpoint address of the transit network node corresponding to the first type of network line is IP31 (i.e., the second tunnel endpoint address), then the routing table of the first network node can be updated based on IP31 to obtain the routing table of the first network node in the abnormal transmission state as shown in Table 5. Among them, the target address under the current tunnel identifier 10001 is updated to IP31, and the source address under the current tunnel identifier 20001 is updated to IP31.
[0121] Table 5: The first routing table of the first network node in the abnormal transmission state
[0122]
[0123] In some optional implementations, the updating of the second routing table of the first network node based on the fourth tunnel endpoint address in the above step d3 includes:
[0124] Step d31: Update the target address under the tunnel identifier corresponding to the second network node in the second routing table to the fourth tunnel endpoint address.
[0125] Step d32: Update the source address under the tunnel identifier corresponding to the first network node in the second routing table to the fourth tunnel endpoint address.
[0126] Furthermore, the above-mentioned step d3 also includes: obtaining a third tunnel endpoint address corresponding to the second network node, the third tunnel endpoint address being determined based on the type of network line connecting the second network node and the transit network node; updating the source address under the tunnel identifier corresponding to the second network node in the second routing table to the third tunnel endpoint address; and updating the destination address under the tunnel identifier corresponding to the first network node in the second routing table to the third tunnel endpoint address.
[0127] For example, Figure 6 As shown, assuming that the first type of network line between the first network node and the second network node is normal, the network segment corresponding to the virtual private cloud (VPC) of the second network node is network segment 2, the tunnel identifier (VNI) corresponding to the virtual private cloud of the second network node is 200, the tunnel endpoint address of the virtual gateway (VGW) of the second network node corresponding to the first type (Type 1) network line is IP21, the tunnel identifier of the virtual gateway of the second network node is 20001, the label of the second network node is 20, the network segment corresponding to the virtual private cloud of the first network node is network segment 1, the tunnel endpoint address of the virtual gateway of the first network node corresponding to the first type of network line is IP11, the tunnel identifier of the virtual gateway of the first network node is 10001, and the label of the first network node is 10, then the routing table of the second network node in the normal transmission state can be obtained as shown in Table 6. Among them, in the second routing table, if the current tunnel identifier is 20001, the corresponding target network segment is network segment 1, the source address is IP21, the target address is IP11, the next tunnel identifier is 20001, and the label of the next hop network node is 10. If the current tunnel identifier is 10001, the corresponding target network segment is network segment 2, the source address is IP11, the target address is IP21, the next tunnel identifier is 200, and the label of the next-hop network node is empty.
[0128] Table 6 The second routing table of the second network node in the normal transmission state
[0129]
[0130] like Figure 4 and Figure 5As shown, if the network line between the first network node and the second network node is abnormal, the first network node is connected to the transit network node through the first type of network line, the second network node is connected to the transit network node through the third type of network line, the tunnel endpoint address of the transit network node corresponding to the third type of network line is IP33 (i.e., the fourth tunnel endpoint address), and the tunnel endpoint address of the second network node corresponding to the third type of network line is IP23 (i.e., the third tunnel endpoint address), then the routing table of the second network node can be updated based on IP23 and IP33 to obtain the routing table of the second network node in the abnormal transmission state as shown in Table 7. Among them, the source address under the current tunnel identifier 20001 is updated to IP23, and the target address is updated to IP33. The source address under the current tunnel identifier 10001 is updated to IP33, and the target address is updated to IP23.
[0131] Table 7 The second routing table of the second network node in the abnormal transmission state
[0132]
[0133] In addition, the address of a portion of bandwidth (BandwidthPart, BWP for short) may also be recorded in the label forwarding table, the first routing table, and the second routing table.
[0134] Further, as shown in Table 8, the label forwarding table of the first network node can also be configured. In the label forwarding table of the first network node, the tunnel identifier is the tunnel identifier of the second network node (such as 20001), the label of the target network node is the label of the first network node (such as 10), the source address and the target address are empty, and the forwarding domain is local. As shown in Table 9, the label forwarding table of the second network node can also be configured. In the label forwarding table of the second network node, the tunnel identifier is the tunnel identifier of the first network node (such as 10001), the label of the target network node is the label of the second network node (such as 20), the source address and the target address are empty, and the forwarding domain is local.
[0135] Table 8 Label forwarding table of the first network node
[0136]
[0137] Table 9 Label forwarding table of the second network node
[0138]
[0139] In this embodiment, a second data transmission method is provided, which can be used for the above-mentioned transit network node. Figure 7 is a flow chart of a second data transmission method according to an embodiment of the present disclosure, such as Figure 7 As shown, the process includes the following steps:
[0140] Step S701, receiving a label forwarding table sent by a network controller, wherein the label forwarding table is determined based on the network line types between the transit network node and the first network node and the second network node, and label information of the first network node, the second network node and the transit network node.
[0141] Step S702: forwarding data between the first network node and the second network node based on the label forwarding table.
[0142] Specifically, in actual operation, the concept of label can be added to the tunnel header of the virtual extensible local area network (also known as VXLAN Tunnel Header). The label occupies the header field of the tunnel header of the virtual extensible local area network (that is, the Reserved field in the VXLAN Tunnel Header). The Reserved field has a total of 16 bits, so a maximum of 65535 network nodes can be identified.
[0143] The data transmission method provided in this embodiment forwards data between the first network node and the second network node based on the label forwarding table issued by the network controller. Therefore, when the network line between the first network node and the second network node is abnormal, the transit network node can be used to realize the normal transmission of data between the network lines between the first network node and the second network node.
[0144] In some optional embodiments, the data between the first network node and the second network node is forwarded based on the label forwarding table in the above step S702, including: receiving a target data packet, the target data packet includes a label of the next-hop network node; querying the label forwarding table based on the label of the next-hop network node to determine the source address and the destination address corresponding to the next-hop network node; and forwarding the target data packet based on the source address and the destination address corresponding to the next-hop network node.
[0145] The data transmission method provided in this embodiment queries the label forwarding table based on the label of the next-hop network node in the target data packet to determine the source address and the target address corresponding to the next-hop network node. Therefore, the target data packet can be transmitted to the corresponding next-hop network node using the source address and the target address corresponding to the next-hop network node, thereby ensuring the normal transmission of data.
[0146] In this embodiment, a third data transmission method is provided, which can be used for the first network node and / or the second network node. Figure 8 is a flow chart of a third data transmission method according to an embodiment of the present disclosure, such as Figure 8 As shown, the process includes the following steps:
[0147] Step S801, obtaining a target routing table, where the target routing table includes a tunnel endpoint address of a transit network node and a label of a next-hop network node.
[0148] Step S802, generating a data packet with the tunnel endpoint address as the target address.
[0149] Step S803: Add the label of the next-hop network node to the data packet to obtain the target data packet.
[0150] Step S804: sending the target data packet to the transit network node.
[0151] The data transmission method provided in this embodiment uses the tunnel endpoint address of the transit network node as the target address to generate a data packet. The label of the next-hop network node is added to the data packet to obtain the target data packet. The target data packet is sent to the transit network node. Therefore, when the network line between the first network node and the second network node is abnormal, the transit network node can be used to transmit data between the first network node and the second network node.
[0152] As an example, taking a specific application scenario as an example, the first network node supports the first type of network line, the second network node supports the first type, the second type and the third type of network lines, the first type of network line of the second network node is abnormal, the first network node transmits data with the transit network node through the first type of network line as an example, and the second network node transmits data with the transit network node through the third type of network line as an example, when the network line between the first network node and the second network node is abnormal, the specific data transmission process of the data transmission method disclosed in the present invention is as follows:
[0153] Process 1: After querying the first routing table, the outgoing traffic of the first network node will carry the label of the second network node in the data packet sent, and the destination address of the data packet is the tunnel endpoint address of the first type of network line of the transit network node. Therefore, the data packet of the first network node will be transferred to the transit network node first.
[0154] Process 2: When the transit network node receives a data packet sent by the first network node through the first type of network line, the transit network node queries the local label forwarding table.
[0155] Specifically, the transit network node uses the label of the next-hop network node in the data packet to query in the label forwarding table, hits the corresponding label forwarding entry, and obtains the tunnel endpoint address of the third type of network line in the transit network node and the tunnel endpoint address of the third type of network line in the second network node. The transit network node uses the queried tunnel endpoint address to perform IP encapsulation on the data packet and sends it to the second network node through the third type of network line.
[0156] In process 3, the second network node queries the local label forwarding table to determine that the received data packet is a data packet to the local network, and continues to query the second routing table to generate a data packet that is fed back to the first network node via the transit network node.
[0157] In process 4, the second network node transmits the data packet for feedback to the transit network node, and uses the transit network node to feed back the data packet to the first network node.
[0158] It is worth noting that the data transmission method disclosed in the present invention is based on the design of labels and label forwarding tables, as well as the disaster recovery transfer method of the same type of network lines, so as to utilize the transit network nodes for disaster recovery transfer. Therefore, it can effectively solve the problem of normal data forwarding of network nodes in interconnected scenarios due to abnormal network lines. Moreover, the data transfer detour between network nodes is completed through the arrangement of label rules, and the user is unaware. Moreover, there is no need to create a virtual gateway and send down a routing table at the transit network node, and the implementation method is simple. In addition, in the scenario where the inner layer data packet is forwarded encrypted on the public network line, there is no need to decrypt the internal data of the data packet, which can effectively improve the data transmission efficiency.
[0159] In addition, the data transmission method disclosed in the present invention can be used in scenarios where the network lines of network nodes are abnormal (such as network line failures, unstable network lines), as well as in active transit scenarios such as data transmission quality tuning, or scenarios such as switching from public network lines to dedicated lines, and has a wide range of applicable scenarios.
[0160] In this embodiment, a first data transmission device is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.
[0161] This embodiment provides a first data transmission device, which is applicable to a network controller, such as Fig. 9 As shown, including:
[0162] A transit node selection module 901, configured to determine a transit network node from other network nodes based on the network line types supported by other network nodes if the network line between the first network node and the second network node is abnormal;
[0163] A line information acquisition module 902, configured to determine line information based on the network line types between the transit network node and the first network node and the second network node respectively;
[0164] The label information acquisition module 903 is used to acquire the label information of the first network node, the second network node and the transit network node;
[0165] A forwarding information determination module 904, configured to determine a label forwarding table of a transit network node based on the label information and the line information, wherein the label forwarding table is configured to instruct the transit network node to forward data between the first network node and the second network node;
[0166] The forwarding information sending module 905 is used to send the label forwarding table to the transit network node.
[0167] In some optional implementations, the transit node selection module 901 includes:
[0168] A node information acquisition unit, used to determine abnormal network nodes and normal network nodes in the first network node and the second network node, and the first network line type in the abnormal network node that is in a normal state;
[0169] A line type acquisition unit, used to acquire a second network line type supported by a normal network node;
[0170] The transit node selection unit is used to match the first network line type and the second network line type among the network line types supported by other network nodes to determine the transit network node, and the transit network node supports both the first network line type and the second network line type.
[0171] In some optional implementations, the transit node selection unit includes:
[0172] An optional node determination subunit, configured to match the first network line type and the second network line type among the network line types supported by other network nodes to determine an optional network node, wherein the optional network node supports both the first network line type and the second network line type;
[0173] A node distance acquisition subunit is used to acquire the distance between each optional network node and the abnormal network node;
[0174] The transit node determination subunit is used to determine the transit network node based on the distance between each optional network node and the abnormal network node.
[0175] In some optional implementations, the forwarding information determination module 904 includes:
[0176] A first endpoint address acquisition unit, configured to obtain a first tunnel endpoint address corresponding to the first network node and a second tunnel endpoint address corresponding to the transit network node based on a network line type used by the transit network node in the line information to connect to the first network node;
[0177] A first transmission address determination unit, configured to determine the first tunnel endpoint address as a destination address under a tunnel identifier corresponding to the second network node, and determine the second tunnel endpoint address as a source address under a tunnel identifier corresponding to the second network node;
[0178] The first forwarding entry generating unit is used to obtain a first label forwarding entry under the tunnel identifier corresponding to the second network node based on the label of the first network node, the destination address under the tunnel identifier corresponding to the second network node, and the source address, wherein the label forwarding table includes the first label forwarding entry.
[0179] In some optional implementations, the forwarding information determining module 904 further includes:
[0180] A second endpoint address acquisition unit, configured to obtain a third tunnel endpoint address corresponding to the second network node and a fourth tunnel endpoint address corresponding to the transit network node based on a network line type used by the transit network node in the line information to connect to the second network node;
[0181] A second transmission address determination unit, configured to determine the third tunnel endpoint address as a destination address under the tunnel identifier corresponding to the first network node, and determine the fourth tunnel endpoint address as a source address under the tunnel identifier corresponding to the first network node;
[0182] The second forwarding entry generating unit is used to obtain a second label forwarding entry under the tunnel identifier corresponding to the first network node based on the label of the second network node, the destination address under the tunnel identifier corresponding to the first network node, and the source address, and the label forwarding table includes the second label forwarding entry.
[0183] In some optional implementations, the data transmission device of the present disclosure includes:
[0184] A transit information acquisition module, used to acquire a second tunnel endpoint address and a fourth tunnel endpoint address corresponding to the transit network node, the second tunnel endpoint address is determined based on the type of network line connecting the transit network node and the first network node, and the fourth tunnel endpoint address is determined based on the type of network line connecting the transit network node and the second network node;
[0185] A first routing update module, configured to update a first routing table of a first network node based on a second tunnel endpoint address;
[0186] The second routing update module is used to update the second routing table of the second network node based on the fourth tunnel endpoint address.
[0187] In some optional implementations, the first routing update module includes:
[0188] A first target address updating unit, configured to update the target address under the tunnel identifier corresponding to the first network node in the first routing table to a second tunnel endpoint address;
[0189] The first source address updating unit is used to update the source address under the tunnel identifier corresponding to the second network node in the first routing table to the second tunnel endpoint address.
[0190] In some optional implementations, the second routing update module includes:
[0191] A second target address updating unit, configured to update the target address under the tunnel identifier corresponding to the second network node in the second routing table to a fourth tunnel endpoint address;
[0192] The second source address updating unit is used to update the source address under the tunnel identifier corresponding to the first network node in the second routing table to a fourth tunnel endpoint address.
[0193] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.
[0194] The data transmission device in this embodiment is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.
[0195] In this embodiment, a second data transmission device is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceived.
[0196] This embodiment provides a second data transmission device, which is applicable to a transit network node, such as Fig.10 As shown, including:
[0197] The forwarding information acquisition module 1001 is used to receive a label forwarding table issued by the network controller, where the label forwarding table is determined based on the network line types between the transit network node and the first network node and the second network node, and the label information of the first network node, the second network node and the transit network node;
[0198] The node data forwarding module 1002 is configured to forward data between the first network node and the second network node based on the label forwarding table.
[0199] In some optional implementations, the node data forwarding module 1002 includes:
[0200] A data packet receiving unit, used to receive a target data packet, the target data packet including a label of a next-hop network node;
[0201] A target address acquisition unit, used to query the label forwarding table based on the label of the next-hop network node, and determine the source address and target address corresponding to the next-hop network node;
[0202] The data packet forwarding unit is used to forward the target data packet based on the source address and the target address corresponding to the next-hop network node.
[0203] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.
[0204] The data transmission device in this embodiment is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.
[0205] In this embodiment, a third data transmission device is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.
[0206] This embodiment provides a third data transmission device, which is applicable to the first network node and / or the second network node, such as Fig.11 As shown, including:
[0207] The routing table acquisition module 1101 is used to acquire a target routing table, which includes a tunnel endpoint address of a transit network node and a label of a next-hop network node;
[0208] The data packet generation module 1102 is used to generate a data packet using the tunnel endpoint address as the target address;
[0209] The label adding module 1103 is used to add the label of the next hop network node to the data packet to obtain the target data packet;
[0210] The data packet forwarding module 1104 is used to send the target data packet to the transit network node.
[0211] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.
[0212] The data transmission device in this embodiment is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.
[0213] The present disclosure also provides a computer device having the above Fig. 9 , Fig.10 or Fig.11 The data transmission device shown.
[0214] See also Fig.12 , Fig.12 is a structural block diagram of a computer device provided by an optional embodiment of the present disclosure, such as Fig.12 As shown, the computer device includes: one or more processors 1201, memory 1202, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. Each component utilizes different buses to communicate with each other, and can be installed on a common mainboard or installed in other ways as required. The processor can process the instructions executed in the computer device, including instructions stored in the memory or on the memory to display the graphical information of the GUI on an external input / output device (such as, a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, and each device provides part of the necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Fig.12 A processor 1201 is taken as an example.
[0215] The processor 1201 may be a central processing unit, a network processor or a combination thereof. The processor 1201 may further include a hardware chip. The hardware chip may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable logic gate array, a general purpose array logic or any combination thereof.
[0216] The memory 1202 stores instructions executable by at least one processor 1201, so that the at least one processor 1201 executes the method shown in the above embodiment.
[0217] The memory 1202 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required by at least one function; the data storage area may store data created according to the use of the computer device, etc. In addition, the memory 1202 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 1202 may optionally include a memory remotely arranged relative to the processor 1201, and these remote memories may be connected to the computer device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0218] The memory 1202 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 1202 may also include a combination of the above types of memory.
[0219] The computer device also includes a communication interface 1203, which is used for the computer device to communicate with other devices or a communication network.
[0220] The embodiments of the present disclosure also provide a computer-readable storage medium. The above-mentioned method according to the embodiments of the present disclosure can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium and downloaded through a network, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state drive, etc.; further, the storage medium can also include a combination of the above-mentioned types of memory. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor, or hardware, the method shown in the above embodiment is implemented.
[0221] A part of the present disclosure may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and / or technical solution according to the present disclosure through the operation of the computer. Those skilled in the art should understand that the existence of computer program instructions in computer-readable media includes, but is not limited to, source files, executable files, installation package files, etc., and accordingly, the way in which computer program instructions are executed by a computer includes, but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium can be any available computer-readable storage medium or communication medium accessible to the computer.
[0222] Although the embodiments of the present disclosure have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present disclosure, and such modifications and variations are all within the scope defined by the appended claims.
Claims
1. A data transmission method, characterized in that: Applicable to a network controller, the method comprises: If the network line between the first network node and the second network node is abnormal, determining a transit network node from among the other network nodes based on the network line types supported by the other network nodes; Determine line information based on the network line types between the transit network node and the first network node and the second network node respectively; Acquire label information of the first network node, the second network node, and the transit network node; Based on the label information and the line information, determine a label forwarding table of the transit network node, where the label forwarding table is used to instruct the transit network node to forward data between the first network node and the second network node; The label forwarding table is sent to the transit network node.
2. The data transmission method according to claim 1, characterized in that: The determining of the transit network node among the other network nodes based on the network line types supported by the other network nodes includes: Determine an abnormal network node and a normal network node in the first network node and the second network node, and a first network line type in a normal state in the abnormal network node; Acquire a second network line type supported by the normal network node; Based on the first network line type and the second network line type, a match is performed among the network line types supported by the other network nodes to determine the transit network node, and the transit network node supports both the first network line type and the second network line type.
3. The data transmission method according to claim 2, characterized in that: The determining the transit network node by matching the first network line type and the second network line type among the network line types supported by the other network nodes includes: Based on the first network line type and the second network line type, matching is performed among the network line types supported by the other network nodes to determine an optional network node, wherein the optional network node supports both the first network line type and the second network line type; Acquiring the distance between each of the optional network nodes and the abnormal network node; The transit network node is determined based on the distance between each of the optional network nodes and the abnormal network node.
4. The data transmission method according to claim 1, characterized in that: The determining, based on the label information and the line information, a label forwarding table of the transit network node includes: Based on the type of network line used by the transit network node in the line information to connect to the first network node, obtain a first tunnel endpoint address corresponding to the first network node and a second tunnel endpoint address corresponding to the transit network node; Determine the first tunnel endpoint address as the destination address under the tunnel identifier corresponding to the second network node, and determine the second tunnel endpoint address as the source address under the tunnel identifier corresponding to the second network node; Based on the label of the first network node, the destination address and the source address under the tunnel identifier corresponding to the second network node, a first label forwarding entry under the tunnel identifier corresponding to the second network node is obtained, and the label forwarding table includes the first label forwarding entry.
5. The data transmission method according to claim 1, characterized in that: The determining, based on the label information and the line information, a label forwarding table of the transit network node further includes: Based on the type of network line used by the transit network node in the line information to connect to the second network node, obtain a third tunnel endpoint address corresponding to the second network node and a fourth tunnel endpoint address corresponding to the transit network node; Determine the third tunnel endpoint address as the destination address under the tunnel identifier corresponding to the first network node, and determine the fourth tunnel endpoint address as the source address under the tunnel identifier corresponding to the first network node; Based on the label of the second network node, the destination address and the source address under the tunnel identifier corresponding to the first network node, a second label forwarding entry under the tunnel identifier corresponding to the first network node is obtained, and the label forwarding table includes the second label forwarding entry.
6. The data transmission method according to claim 1, characterized in that: The method further comprises: Obtain a second tunnel endpoint address and a fourth tunnel endpoint address corresponding to the transit network node, wherein the second tunnel endpoint address is determined based on the type of network line connecting the transit network node and the first network node, and the fourth tunnel endpoint address is determined based on the type of network line connecting the transit network node and the second network node; updating a first routing table of the first network node based on the second tunnel endpoint address; A second routing table of the second network node is updated based on the fourth tunnel endpoint address.
7. The data transmission method according to claim 6, characterized in that: The updating of the first routing table of the first network node based on the second tunnel endpoint address includes: Update the target address under the tunnel identifier corresponding to the first network node in the first routing table to the second tunnel endpoint address; Update the source address under the tunnel identifier corresponding to the second network node in the first routing table to the second tunnel endpoint address.
8. The data transmission method according to claim 6, characterized in that: The updating of the second routing table of the first network node based on the fourth tunnel endpoint address includes: Updating the target address under the tunnel identifier corresponding to the second network node in the second routing table to the fourth tunnel endpoint address; Update the source address under the tunnel identifier corresponding to the first network node in the second routing table to the fourth tunnel endpoint address.
9. A data transmission method, characterized in that: Applicable to a transit network node, the method comprises: Receive a label forwarding table sent by a network controller, where the label forwarding table is determined based on network line types between the transit network node and the first network node and the second network node, respectively, and label information of the first network node, the second network node, and the transit network node; Data between the first network node and the second network node is forwarded based on the label forwarding table.
10. The data transmission method according to claim 9, characterized in that: The forwarding of data between the first network node and the second network node based on the label publication includes: receiving a target data packet, wherein the target data packet includes a label of a next-hop network node; Query the label forwarding table based on the label of the next-hop network node to determine the source address and the destination address corresponding to the next-hop network node; The target data packet is forwarded based on the source address and the target address corresponding to the next-hop network node.
11. A data transmission method, characterized in that: Applicable to the first network node and / or the second network node, the method comprises: Obtaining a target routing table, wherein the target routing table includes a tunnel endpoint address of a transit network node and a label of a next-hop network node; Generate a data packet using the tunnel endpoint address as the target address; Add the label of the next-hop network node to the data packet to obtain a target data packet; The target data packet is sent to the transit network node.
12. A data transmission device, characterized in that: The device comprises: a transit node selection module, configured to determine a transit network node from among the other network nodes based on the network line types supported by the other network nodes if the network line between the first network node and the second network node is abnormal; A line information acquisition module, configured to determine line information based on the network line types between the transit network node and the first network node and the second network node respectively; A label information acquisition module, used to acquire label information of the first network node, the second network node and the transit network node; A forwarding information determination module, used to determine a label forwarding table of the transit network node based on the label information and the line information, wherein the label forwarding table is used to instruct the transit network node to forward data between the first network node and the second network node; The forwarding information sending module is used to send the label forwarding table to the transit network node.
13. A data transmission device, characterized in that: The device comprises: A forwarding information acquisition module, configured to receive a label forwarding table issued by a network controller, wherein the label forwarding table is determined based on the network line types between the transit network node and the first network node and the second network node, respectively, and label information of the first network node, the second network node, and the transit network node; A node data forwarding module is used to forward data between the first network node and the second network node based on the label forwarding table.
14. A data transmission device, characterized in that: The device comprises: A routing table acquisition module, used to acquire a target routing table, wherein the target routing table includes a tunnel endpoint address of a transit network node and a label of a next-hop network node; A data packet generation module, used to generate a data packet using the tunnel endpoint address as a target address; A label adding module, used for adding a label of the next-hop network node to the data packet to obtain a target data packet; The data packet forwarding module is used to send the target data packet to the transit network node.
15. A computer device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the data transmission method according to any one of claims 1 to 8, or the data transmission method according to claim 9 or 10, or the data transmission method according to claim 11 by executing the computer instructions.
16. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the data transmission method described in any one of claims 1 to 8, or the data transmission method described in claim 9 or 10, or the data transmission method described in claim 11.
17. A computer program product, characterized in that The method comprises computer instructions for causing a computer to execute the data transmission method according to any one of claims 1 to 8, or the data transmission method according to claim 9 or 10, or the data transmission method according to claim 11.
Citation Information
Cited By
Data communication system, method and device, computer equipment and readable storage medium
CN120223625A
Data communication systems, methods, apparatus, computer equipment, and readable storage media
CN120223625B
